Nacos热更新
相比其他注册中心,Nacos的优势之一在于热更新。
热更新,就是不需要重启服务,就能够更新配置。
@RefreshScope
Nacos可以通过注解 @RefreshScope 热更新。
只需在类上方添加 @RefreshScope 即可。
@RefreshScope 示例
首先,需要搭建 Nacos,详情见: https://www.cnblogs.com/expiator/p/17392549.html
- provider-dev.yaml,配置如下 :
my:
name: chen
age: 28
- 添加 @RefreshScope
在Controller上方添加即可。
启动服务后,调用接口,就可以查看到配置的值。
@RestController
@RefreshScope
public class ProviderController {
/**
* 后面的 :abc 表示默认值为 abc。
*/
@Value("${my.name:abc}")
private String configName;
@GetMapping(value = "/provider/config")
public String getConfig() {
return configName;
}
}
Nacos配置示例
- provider-dev.yaml,修改配置为:
my:
name: liu
age: 28
查看配置
可以看到日志显示配置项已经更新,
RefreshEventListener : Refresh keys changed: [my.name]
无须重启服务,修改Nacos配置后,调用接口,查看配置信息,如下:
可以看到,已经是最新的配置。

参考资料:
https://blog.csdn.net/wang_o_yi/article/details/124387045
https://blog.csdn.net/LMGD_/article/details/128303186