当前位置: 首页 > news >正文

【Nacos】一文到底 配置管理详解

配置管理--Nacos

  • 一、统一配置管理
  • 二、配置热更新
  • 三、多环境配置
    • 配置的优先级
  • 四、环境隔离
  • 五、Nacos集群

一、统一配置管理

在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作为负载均衡服务器

在这里插入图片描述

相关文章:

  • LNMP架构搭建实操
  • Linux系统的安装
  • 模拟直播间评论的动画
  • C++ 优先队列 priority_queue 模拟实现篇
  • 从0开始学c语言-36-C语言文件(1)文件打开关闭和输入输出
  • 性能测试中MySQL数据库联合索引和连接数问题定位和分析+SQL优化【杭州多测师】【杭州多测师_王sir】...
  • android studio 制作app欢迎界面-两种方法(功能)(备忘)
  • I2C子系统
  • AICon 2022 | 来杭州和 OpenMLDB 见面吧
  • 语义通信(Semantic Communication)
  • 【C语言】变量和常量
  • 安卓中的布局
  • 725. 完全数
  • Portapack应用开发教程(十八)NavTex接收 B
  • Go语言中list的使用
  • 永劫无间游戏玩法设计梳理
  • Opencv项目实战:12 你这背景太假啦!
  • Java8实战 流处理stream
  • 星源卓镁递交注册:年营收2.2亿 邱卓雄家族控制超90%股权
  • Nginx配置文件
  • 2022全国车辆工程专业大学排名一览表
  • 2022周口职业技术学院单招学费多少钱一年-各专业收费标准
  • 2022年中原工学院艺术类招生简章
  • 2022浙江经贸职业技术学院学费多少钱一年-各专业收费标准
  • 2022年湖南大学强基计划报名条件-报名时间-报名入口
  • 2020河北工程大学运动训练专业招生简章
  • 2022湖州有哪些民办大学?湖州所有民办大学名单一览表(1所)
  • 2022天津城市建设管理职业技术学院学费多少钱一年-各专业收费标准
  • 2022滁州学院艺术类学费多少钱一年-各专业收费标准
  • 2022云南警官学院学费多少钱一年-各专业收费标准