Nacos配置管理中心
介绍:
该功能类似于传统的config + bus的功能
配置中心管理之Data Id 方案
在nacos上配置Data id
建成后的信息
项目目录结构
pom.xml
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>${spring.cloud.alibaba.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
controller
@RestController
@RefreshScope //支持Nacos的动态刷新功能。
public class ConfigClientController
{
@Value("${config.info}")
private String configInfo;
@GetMapping("/config/info")
public String getConfigInfo() {
return configInfo;
}
}
application.yaml
spring:
profiles:
active: dev # 表示开发环境
#active: test # 表示测试环境
#active: info
bootstrap.yml
# nacos配置
server:
port: 3377
spring:
application:
name: nacos-config-client
cloud:
nacos:
discovery:
server-addr: 172.20.6.180:8848 #Nacos服务注册中心地址
config:
server-addr: 172.20.6.180:8848 #Nacos作为配置中心地址
file-extension: yaml #指定yaml格式的配置
# ${spring.application.name}-${spring.profile.active}.${spring.cloud.nacos.config.file-extension}
# nacos-config-client-dev.yaml
# 注意:
# 1.在nacos页面上创建yaml配置文件时,后缀名必须是yaml,写成yml或报错
# 2.先在nacos网页(http://localhost:8848/nacos/)上配置配置文件在启动nacos配置中心微服务,否则会报错
# 报错信息如下:Could not resolve placeholder 'config.info' in value "${config.info}"
# nacos-config-client-test.yaml ----> config.info
spring.profiles.active 设置为dev的时启动项目请求 http://127.0.0.1:3377/config/info 接口
可以获取到配置在nacos上的 Data id 为 nacos-config-client-dev.yaml 的配置文件的配置的信息
当spring.profiles.active 设置为test时再次启动项目 请求 http://127.0.0.1:3377/config/info 接口
可以获取到配置在nacos上的 Data id 为 nacos-config-clitest.yaml 的配置文件的配置的信息
此时在不停掉应用的情况下,修改nacos上 Data id 为 nacos-config-clitest.yaml 的配置文件, 将version 信息该为3,再次请求 http://127.0.0.1:3377/config/info 接口,
发现项目已经获取到最新的配置信息。
nacos 配置管理之Group分配方案
新建配置,Data Id 为 nacos-config-client-info.yaml Group 为 DEV_Group
此时修改application.yaml文件中 spring.profiles.active 为 info
在 bootstrap.yml 文件中 新增 spring.cloud.nacos.config.group 为 DEV_GROUP 时, 请求 http://127.0.0.1:3377/config/info 接口,获取到的是 DEV_GROUP 组中 nacos-config-client-info.yaml 配置文件中的信息
当修改 bootstrap.yml 文件中 spring.cloud.nacos.config.group 为 TEST_GROUP 时, 请求 http://127.0.0.1:3377/config/info 接口, 获取到的是 TEST_GROUP 组中 nacos-config-client-info.yaml 配置文件中的信息
nacos 配置管理之namespace分配方案
新增两个命名空间 dev 和 test