之前:Spring Cloud Config + Bus
1) Github 上添加配置⽂件 2)创建Config Server 配置中⼼—>从Github上去下载配置信息 3)具体的微服务(最终使⽤配置信息的)中配置Config Client—> ConfigServer获取配置信息有Nacos之后,分布式配置就简单很多 Github不需要了(配置信息直接配置在Nacos server中),Bus也不需要了(依然可以完成动态刷新)接下来
1、去Nacos server中添加配置信息 2、改造具体的微服务,使其成为Nacos Config Client,能够从Nacos Server中获取到配置信息Nacos server 添加配置集
Nacos 服务端已经搭建完毕,那么我们可以在我们的微服务中开启 Nacos 配置管理
1)添加依赖
<dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId> </dependency2)微服务中如何锁定 Nacos Server 中的配置⽂件(dataId)
通过 Namespace + Group + dataId 来锁定配置⽂件,Namespace不指定就默认public,Group不指定就默认 DEFAULT_GROUP
dataId 的完整格式如下
${prefix}-${spring.profile.active}.${file-extension}prefix 默认为 spring.application.name 的值,也可以通过配置项 spring.cloud.nacos.config.prefix 来配置。 spring.profile.active 即为当前环境对应的 profile。 注意:当 spring.profile.active 为空时,对应的连接符 - 也将不存在,dataId 的拼接格式变成
${prefix}.${fileextension}file-exetension为配置内容的数据格式,可以通过配置项 spring.cloud.nacos.config.file-extension 来配置。⽬前只⽀持 properties 和 yaml 类型。
cloud: nacos: discovery: # 集群中各节点信息都配置在这⾥(域名-VIP-绑定映射到各个实例的地址信息) server-addr: 127.0.0.1:8848 config: server-addr: 127.0.0.1:8848 namespace: f965f7e4-7294-40cf-825c-ef363c269d37 group: DEFAULT_GROUP file-extension: yaml思考:⼀个微服务希望从配置中⼼Nacos server中获取多个dataId的配置信息,可以的,扩展多个dataId
# nacos配置 cloud: nacos: discovery: # 集群中各节点信息都配置在这⾥(域名-VIP-绑定映射到各个实例的地址信息) server-addr: 127.0.0.1:8848,127.0.0.1:8849,127.0.0.1:8850 # nacos config 配置 config: server-addr: 127.0.0.1:8848,127.0.0.1:8849,127.0.0.1:8850 # 锁定server端的配置⽂件(读取它的配置项) namespace: 07137f0a-bf66-424b-b910-20ece612395a # 命名空间id group: DEFAULT_GROUP # 默认分组就是DEFAULT_GROUP,如果使⽤默认分组可以不配置 file-extension: yaml #默认properties # 根据规则拼接出来的dataId效果:lagou-service-resume.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 #开启扩展dataId的动态刷新