1. 前置
1.1 概念
namespace 命名空间之间是隔离的。
group 分组把不同的微服务划分到同一个组。
dataId 最小的配置划分。
服务最终配置文件的确认是由 namespace + group + gataId 共同确定的。
1.2 本地准备
本地准备两个配置文件,因为 Nacos 在项目初始化时,要保障优先从配置中心进行基础配置拉取,拉取配置后,才能保证项目的正常启动。
在 SpringBoot 项目配置文件的加载顺序是存在优先级的, bootstarp 有限级高于 application.
- bootstarp.yml
server: port: 3377 spring: application: name: cloud-nacos-config cloud: nacos: discovery: server-addr: localhost:8848 #服务注册中心地址 namespace: e27326a4-37e7-41ac-89ba-4b9804758632 # 命名空间 config: server-addr: localhost:8848 #配置中心地址 file-extension: yaml #指定yaml格式的配置 namespace: e27326a4-37e7-41ac-89ba-4b9804758632 # 命名空间 group: DEV_GROUP # 分组
- application.yml
spring: profiles: active: dev
- pom
<!--nacos-config--> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId> </dependency>
- 业务类
业务类上加注解 @RefreshScope
1.3 配置中心
namespace
group
dataId
dataId 命名规则
s p r i n g . a p p l i c a t i o n . n a m e − {spring.application.name}-spring.application.name−{spring.profile.active}.${spring.cloud.nacos.config.file-extension}
上图配置的dataId 为:nacos-config-client-dev.yaml
2. 测试
完成上面的配置后 启动项目 访问 http://localhost:3377/config/info