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