一、统一配置管理
在nacos中添加配置
① 点击配置列表,添加新的配置信息
② 然后在弹出的表单中,填写配置信息
注意:项目的核心配置,需要热更新的配置才有放到nacos管理的必要。基本不会变更的一些配置还是保存在微服务本地比较好。从微服务拉取配置
bootstrap.yml文件,它会在application.yml之前被读取,而且其内容优先级高于application.yaml
① 引入nacos-config依赖
<!--nacos配置管理依赖-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
② 添加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
注解将配置读取读取到一个对象上,然后在需要使用配置的类中注入配置对象
三、多环境配置
1、添加环境配置
添加dev环境配置:在nacos中添加一个user-service-dev.yaml配置
添加test环境配置:在nacos中添加一个user-service-test.yaml配置
2、指定环境配置
在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集群
集群模式 - 用于生产环境,确保高可用,以下是Nacos官方提供的集群搭建图:
SLB:这里使用Nginx作为负载均衡服务器文章来源:https://www.toymoban.com/news/detail-821461.html
文章来源地址https://www.toymoban.com/news/detail-821461.html
到了这里,关于【Nacos】一文到底 配置管理详解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!