Nacos配置与本地配置优先级
概述
由Apollo配置中心与本地配置优先级,引出的一个问题。号称时下最强的注册中心和配置中心,表现如何?
调研
直接上代码,本地配置文件application-dev.yml
,新增配置:test: aaa
。
接口层的测试方法:
@Value("${test}")
private String test;
@RequestMapping("/hs")
@ResponseBody
public String hs() {
System.out.println(System.currentTimeMillis() + ": " + test);
return "ok";
}
启动应用,浏览器请求接口http://localhost:8080/hs
,打印输出如下:1630211357599: aaa
使用在线版时间戳转化工具:https://tool.lu/timestamp/:
Nacos新增配置,并发布publish,发布历史有时间戳
再多次请求接口,控制台输出:
1630211762433: aaa
,即:2021-08-29 12:36:02
。
注:本文使用Nacos版本为:1.4.1
说明未重启应用的情况下,配置项还是保持本地配置项数据。这一点和Apollo一样,底层实现原理应该都是和Spring关联,无法实现不重启应用且将更新后的配置push推送到客户端。
重启应用不出意料输出:1630211968386: bbb
搜索:应用启动后配置中心推送到客户端实现,没有找到答案。
留坑待填。。