nacos config--重点笔记
一 Nacos config 和 spring cloud的对比
1,springcloud config大部分场景结合git 使用, 动态变更还需要依赖Spring Cloud Bus 消息总线来通过所有的客户端变
化;
2,springcloud config不提供可视化界面
3,nacos config使用长轮询更新配置, 一旦配置有变动后,通知Provider的过程非常的迅速, 从速度上秒杀springcloud
原来的config几条街,
二 nacos config
最佳实践:
Namespace:代表不同环境,如开发、测试、生产环境。
Group:代表某项目,如XX医疗项目、XX电商项目
DataId:每个项目下往往有若干个工程(微服务),每个配置集(DataId)是一个工程(微服务)的主配置文件

三 Config相关配置
Nacos 数据模型 Key 由三元组唯一确定, Namespace默认是空串,公共命名空间(public),分组默认是DEFAULT_GROUP

支持profile粒度的配置
spring-cloud-starter-alibaba-nacos-config 在加载配置的时候,不仅仅加载了以 dataid 为${spring.application.name}.${file-extension:properties} 为前缀的基础配置,还加载了dataid为
${spring.application.name}-${profile}.${file-extension:properties} 的基础配置。在日常开发中如果遇到多套环境下的不
同配置,可以通过Spring 提供的 ${spring.profiles.active} 这个配置项来配置。
spring.profiles.active=dev
profile 的配置文件 大于 默认配置的文件。 并且形成互补
ps:只有默认的配置文件, 才会应用profile
配置的优先级
Spring Cloud Alibaba Nacos Config 目前提供了三种配置能力从 Nacos 拉取相关的配置。
A: 通过 spring.cloud.nacos.config.shared-configs 支持多个共享 Data Id 的配置 B: 通过 spring.cloud.nacos.config.ext-config[n].data-id 的方式支持多个扩展 Data Id 的配置 C: 通过内部相关规则(应用名、应用名+ Profile )自动生成相关的 Data Id 配置
当三种方式共同使用时,他们的一个优先级关系是:A < B < C
优先级从高到低: 1) nacosconfigproduct.yaml 精准配置 2) nacosconfig.yaml 同工程不同环境的通用配置 3) extconfig: 不同工程 扩展配置 4) shareddataids 不同工程 shared通用配置
精准配置 > 通用配置 > 扩展配置 > shared通用配置
@RefreshScope + @VALUE 动态刷新

浙公网安备 33010602011771号