Spring Cloud Alibaba Nacos Config目前提供了三种配置方式从 Nacos 配置中心获取配置信息
- A: 通过
spring.cloud.nacos.config.shared-configs[n]
支持多个共享 Data Id 的配置 - B: 通过
spring.cloud.nacos.config.extension-configs
[n]
配置扩展 Data Id - C: 通过内部相关规则(服务名-环境.扩展名)自动生成相关的 Data Id 配置
三种方式的一个优先级关系是:C > B >A(同一级别的配置数组下标越大,优先级越大),配置文件之间会形成互补
bootstrap.yaml配置文件(推荐只把配置中心的配置放到bootstrap.yaml)
spring:
cloud:
config:
server-addr: localhost:8848 #Nacos作为配置中心地址
file-extension: yaml #指定yaml格式的配置
shared-configs:
- data-id: lixianhe.yaml
refresh: true
- data-id: pig.yaml
refresh: true
extension-configs[0]:
data-id: liuhuiying.yaml
refresh: true
group: my_group
优先级:nacos-config-client-dev.yaml > nacos-config-client.yaml > pig.yaml > lixianhe.yaml > liuhuiying.yaml
注意:
shared-configs 和 extension-configs都是数组,可以通过 - 和 下标配置
默认配置文件
服务名.后缀 为默认配置文件
当配置了环境:
-
优先级:服务名-环境.后缀 > 服务名.后缀
-
默认配置文件还生效
-
相同的配置优先级大的会覆盖优先级小的,并且会形成互补
spring.cloud.nacos.config.file-extension: yaml # 这个配置只针对**默认配置文件**有效
总结
- 服务名-环境.扩展名 > 服务名.扩展名 >
extension-configs > shared-configs
- 一般使用shared-configs作用公共配置文件