Nacos 配置中心
上���:Nacos Server 集群搭建
目录
- 添加配置集
- 实时刷新配置项
- 监听查询
- dataId扩展
- dataId优先级问题
添加配置集
- 在nacos 配置中心新建即可
实时刷新配置项
- 依赖
com.alibaba.cloud spring-cloud-starter-alibaba-nacos-config
- 修改配置文件application.yml 为bootstrap.yaml
- 添加config配置
server: port: 8083 spring: application: name: m-service-resume datasource: driver-class-name: com.mysql.jdbc.Driver url: jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8 &serverTimezone=UTC username: root password: root jpa: database: MySQL show-sql: true hibernate: naming: physical-strategy: org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl #避免将驼峰命名转换为下划线命名 cloud: nacos: discovery: server-addr: 127.0.0.1:8848,127.0.0.1:8849,127.0.0.1:8850 #集群名称 cluster-name: BJ #所属命名空间 namespace: 59486577-18d5-459c-94ad-cbdf6f3d9d5a #nacos config 配置 config: server-addr: 127.0.0.1:8848,127.0.0.1:8849,127.0.0.1:8850 namespace: 59486577-18d5-459c-94ad-cbdf6f3d9d5a group: DEFAULT_GROUP file-extension: yaml
- 获取配置config类,添加@RefreshScope 注解
@RestController @RequestMapping("/config") //实时刷新注解 @RefreshScope public class ConfigController { @Value("${my.message}") private String myMessage; @Value("${mysql.url}") private String mysqlUrl; @GetMapping("/viewconfig") public String viewconfig() { return "msg==>" + myMessage + " mySqlUrl=>" + mysqlUrl; } }
- 访问
- 修改配置中的内容,100为200
- 实时刷新完成
监听查询
- nacos配置中心
dataId扩展
从nacos中 获取多个配置文件
- 在nacos 创建多个配置文件abc.yaml、def.yaml
- 获取多个配置文件
cloud: nacos: discovery: config: server-addr: 127.0.0.1:8848,127.0.0.1:8849,127.0.0.1:8850 namespace: 59486577-18d5-459c-94ad-cbdf6f3d9d5a group: DEFAULT_GROUP file-extension: yaml #获取多个配置文件 ext-config[0]: data-id: abc.yaml group: DEFAULT_GROUP refresh: true #扩展dataId 的动态刷新 ext-config[1]: data-id: def.yaml group: DEFAULT_GROUP refresh: true
- 重启服务
- 修改nacos中的配置重新访问接口(扩展配置文件动态刷新)
dataId优先级问题
优先级:根据规则⽣成的dataId > 扩展的dataId(对于扩展的dataId,[n] n越⼤优先级越⾼)
-
将m-service-resume.yaml 中的my.message配置copy 到abc.yaml、def.yaml 数字修改为300 ,400
-
重启项目,结果
-
扩展的配置文件之间的优先级,新建配置项
-
结果
-
- 获取多个配置文件
- 在nacos 创建多个配置文件abc.yaml、def.yaml
- nacos配置中心
- 访问
- 获取配置config类,添加@RefreshScope 注解
- 依赖
- 在nacos 配置中心新建即可
The End