Nacos:配置中心,中心化管理配置文件
配置中心入门使用
第一步创建文件
在nacos——配置管理——配置列表中可以创建文件
在nacos官网 快速开始——Nacos Spring Cloud里有添加的属性介绍,比如dataId的完整格式如下:
${prefix}-${spring.profiles.active}.${file-extension}
● prefix 默认为 spring.application.name 的值,也可以通过配置项 spring.cloud.nacos.config.prefix来配置。
● spring.profiles.active 即为当前环境对应的 profile,详情可以参考 https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-profiles.html#boot-features-profiles。 注意:当 spring.profiles.active 为空时,对应的连接符 - 也将不存在,dataId 的拼接格式变成 ${prefix}.${file-extension}
● file-exetension 为配置内容的数据格式,可以通过配置项 spring.cloud.nacos.config.file-extension 来配置。目前只支持 properties 和 yaml 类型。
可以新建服务的配置文件
第二步服务端加载配置信息
pom依赖
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
加载配置文件,在resources中新建文件bootstrap.yml
#从配置中心加载配置文件
#文件名是通过公式来拼接${prefix}-${spring.profiles.active}.${file-extension}
spring:
cloud:
nacos:
config:
server-addr: localhost:8848
namespace: sit
group: DEFAULT_GROUP
username: nacos
password: nacos
prefix: cloud-jifen
file-extension: yml
profiles:
active: sit
结果:查看nacos对应的服务列表,是否成功发布
nacos配置动态刷新
动态刷新:不停机动态修改配置,立即生效。 在controller层加一个注解即可,nacos提供的@RefreshScope
nacos共享配置
在nacos中新建共享配置 common.yml(文件名没要求)
删除nacos配置文件中的公共配置。
idea服务加载多个共享配置
#从配置中心加载配置文件
#文件名是通过公式来拼接${prefix}-${spring.profiles.active}.${file-extension}
spring:
cloud:
nacos:
config:
server-addr: localhost:8848
namespace: pro
group: DEFAULT_GROUP
prefix: cloud-jifen
file-extension: yml
shared-configs: #加载共享配置文件
- common.yml
- common1.yml
refreshable-dataids: common.yml,common1.yml # 指定配置文件支持动态刷新
profiles:
active: pro