Nacos配置管理——多环境配置共享
Nacos安装指南(windows版本):https://www.cnblogs.com/gfl-1112/p/17771364.html
Nacos安装指南(Linux版本):https://www.cnblogs.com/gfl-1112/p/17771373.html
Nacos的依赖:https://www.cnblogs.com/gfl-1112/p/17771375.html
Nacos注册中心:https://www.cnblogs.com/gfl-1112/p/17771589.html
Nacos配置管理——统一配置管理:https://www.cnblogs.com/gfl-1112/p/17771693.html
Nacos配置管理——配置热更新:https://www.cnblogs.com/gfl-1112/p/17771715.html
Nacos配置管理——多环境配置共享:https://www.cnblogs.com/gfl-1112/p/17772363.html
Nacos集群搭建:https://www.cnblogs.com/gfl-1112/p/17772536.html
微服务启动时会从nacos读取多个配置文件:
[spring.application.name]-[spring.profiles.active].yaml,例如:userservice-dev.yaml
[spring.application.name].yaml,例如:userservice.yaml
无论profile如何变化,[spring.application.name].yaml这个文件一定会加载,因此多环境共享配置可以写入这个文件
新增配置:userservice.yaml
测试代码:
8081端口的直接启动,可以读取到Nacos中的两个配置文件userservice-dev.yaml和userservice.yaml
8082的启动时修改命名空间为test,只能读取到一个配置文件userservice.yaml(因为userservice-test.yaml没有配置)
此时访问8081:获取到了共享的envSharedValue和userservice-dev.yaml中的dateformat
此时访问8082:获取到了共享的envSharedValue和本地配置文件中的dateformat
如果三个配置中都有相同的属性,优先级:
服务名-profile.yaml > 服务名称.yaml > 本地配置
不同微服务之间可以共享配置文件,通过下面的两种方式来指定
方式一:
spring: application: name: userservice # 服务名称 profiles: active: dev # 环境, cloud: nacos: server-addr: localhost:8848 # Nacos地址 config: file-extension: yaml # 文件后缀名 shared-configs: # 多微服务间共享的配置列表 - dataId: common.yaml # 要共享的配置文件id
方式二:
spring: application: name: userservice # 服务名称 profiles: active: dev # 环境, cloud: nacos: server-addr: localhost:8848 # Nacos地址 config: file-extension: yaml # 文件后缀名 extends-configs: # 多微服务间共享的配置列表 - dataId: extend.yaml # 要共享的配置文件id