Spring Cloud Alibaba Nacos Config可支持自定义 Data Id 的配置。
完全关闭配置
通过设置 spring.cloud.nacos.config.enabled = false 来完全关闭 Spring Cloud Nacos Config
优先级
通过测试发现多个 Data Id 同时配置时,他的优先级关系是 spring.cloud.nacos.config.ext-config[n].data-id 其中 n 的值越大,优先级越高。
共享配置
# 共享文件
shared-configs[0]:
dataId: shared.yaml
# 自动刷新,默认不开启
refresh: true
shared-configs[1]:
dataId: shared1.yaml
refresh: true
扩展配置
# 扩展文件
extension-configs[0]:
dataId: extension.yaml
refresh: true
extension-configs[1]:
dataId: extension1.yaml
refresh: true
自动刷新
程序中如果写了@Value注解,可以采用@RefreshScope实现刷新,只需要在指定类上添加该注解即可
不同方式配置加载优先级:
Nacos 配置中心目前提供以下三种配置能力从 Nacos 拉取相关的配置,当三种方式共同使用时,他们的一个优先级关系是:A < B < C:
A:通过 spring.cloud.nacos.config.shared-configs[n].data-id 支持多个共享 Data Id 的配置
B:通过 spring.cloud.nacos.config.extension-configs[n].data-id 的方式支持多个扩展 Data Id 的配置
C:通过内部相关规则(spring.cloud.nacos.config.prefix、spring.cloud.nacos.config.file-extension、spring.cloud.nacos.config.group)自动生成相关的 Data Id 配置
bootstrap.yml
spring:
profiles:
active: dev
application:
name: ossa-service-producer
cloud:
nacos:
# docker启动nacos:
# docker run --name mynacos -itd -e MODE=standalone -p 8848:8848 -p 9848:9848 -p 9849:9849 nacos/nacos-server:v2.0.3
discovery:
server-addr: 1.117.66.67
# namespace: d5042bab-be48-4946-9465-fb6e15ab75b7
# group: OSSA_GROUP
config:
# 默认就是 服务名 + 环境名 + . + yaml
server-addr: 1.117.66.67
file-extension: yaml
refresh-enabled: true
# group: OSSA_GROUP
# namespace: d5042bab-be48-4946-9465-fb6e15ab75b7
# 共享文件
shared-configs[0]:
dataId: shared.yaml
# 自动刷新,默认不开启
refresh: true
shared-configs[1]:
dataId: shared1.yaml
refresh: true
# 扩展文件
extension-configs[0]:
dataId: extension.yaml
refresh: true
extension-configs[1]:
dataId: extension1.yaml
refresh: true