配置管理--Nacos 一、统一配置管理二、配置热更新三、多环境配置配置的优先级 四、环境隔离五、Nacos集群 一、统一配置管理 在nacos中添加配置 ① 点击配置列表,添加新的配
在nacos中添加配置
① 点击配置列表,添加新的配置信息
② 然后在弹出的表单中,填写配置信息
注意:项目的核心配置,需要热更新的配置才有放到nacos管理的必要。基本不会变更的一些配置还是保存在微服务本地比较好。
从微服务拉取配置
bootstrap.yml文件,它会在application.yml之前被读取,而且其内容优先级高于application.yaml
① 引入nacos-config依赖
<!--nacos配置管理依赖-->> >com.alibaba.cloud > >spring-cloud-starter-alibaba-nacos-config > >
② 添加bootstrap.yml
spring: application: name: user-service cloud: nacos: config: server-addr: localhost:8848 # nacos 配置中心地址 file-extension: yaml # 文件扩展名
这里会根据spring.cloud.nacos.server-addr获取nacos地址,再根据
${spring.application.name}.${spring.cloud.nacos.config.file-extension}
作为文件Data ID,来读取nacos的配置。
③ 在代码中读取配置信息
在user-service中的UserController中添加业务逻辑,读取conf对象的相关配置
④ 在页面访问http://localhost:8081/config1,可以看到效果
修改nacos中的配置后,微服务中无需重启即
可让配置生效,也就是配置热更新。
局部方式: 使用
@RefreshScope
注解标注在使用配置信息的类上
全局方式:先使用@ConfigurationProperties
注解将配置读取读取到一个对象上,然后在需要使用配置的类中注入配置对象
添加环境配置
添加dev环境配置:在nacos中添加一个user-service-dev.yaml配置
添加test环境配置:在nacos中添加一个user-service-test.yaml配置
指定环境配置
在bootstrap.yaml
文件,添加要读取的环境项,内容如下:
spring: application: name: user-service profiles: active: dev # 指定环境 cloud: nacos: config: server-addr: localhost:8848 # nacos 配置中心地址 file-extension: yaml # 文件扩展名
效果如图:
nacos config 支持 Namespace
Group
Data Id
来定位一个配置集(配置文件),可以通过不同的组合实现配置集的隔离。
不同环境之间隔离:
Namespace
—> 不同环境
Group
—> 不同项目 / 模块
Data Id
—> 不同配置文件
创建命名空间
ameapace 是一个环境的集合,创建两个环境
创建配置信息
需要在指定的命名空间(环境)中创建配置信息
读取配置信息
spring: application: name: user-service# profiles:# active: test # 指定环境 cloud: nacos: config: server-addr: localhost:8848 # nacos 配置中心地址 file-extension: yaml # 文件扩展名 namespace: f81a11fe-73f4-4dff-b70d-04009fa36710 # 指定namespace的id group: DEFAULT_GROUP # 指定组名
集群模式 - 用于生产环境,确保高可用,以下是Nacos官方提供的集群搭建图:
来源地址:https://blog.csdn.net/apple_69693064/article/details/127168147
--结束END--
本文标题: 【Nacos】一文到底 配置管理详解
本文链接: https://lsjlt.com/news/417395.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-04-01
2024-04-03
2024-04-03
2024-01-21
2024-01-21
2024-01-21
2024-01-21
2023-12-23
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0