总结整合自视频课程 https://www.bilibili.com/video/BV1LQ4y127n4
只是自己整理了一下笔记,分享了出来。
抹除了一些。
入门学习建议观看视频,这边只是整理了一些资料。
本篇文章为Nacos文章第二部分
点击下面链接阅读第一部分
SpringCloud笔记-04-Nacos注册中心
如果还是有许多小问号,可能是没看之前几篇文章,建议按照顺序阅读,如有疑问,评论区留言交流
Nacos配置中心
使用Nacos进行统一配置管理有如下几个优点:
- 配置更改热更新
添加配置
- Data ID: 这里的服务名称要有唯一性,推荐使用服务名称+环境命名
- Group: 组
- 描述: 对该配置的描述
- 配置格式: 配置文件的格式
- 配置内容: 存放内容
在配置内容里,一般情况下存放的都是一些可能要发生改变的值、开关类型的值(例如:是否演示模式、是否开启xxx功能)
添加完成后即可发现新增一条记录
点击详情查看
- 项目启动
- 读取Nacos配置文件
- 读取本地application.yml文件 并且 与Nacos配置合并
- 启动Spring容器
- 加载Bean
在项目启动过程中,要选择一个比application.yml文件更高优先级的 bootstrap.yml文件
然后将Nacos地址放入bootstrap.yml文件中即可
使用配置中心步骤 项目配置
将application.yml文件的重复配置删除
使用Value注入等方式,和 application.yml 一样的用法
不过这样配置还是不能热更新,只是项目启动时候的初始配置
热更新的配置,请接着往下看
配置热更新
Nacos中的配置文件变更后,微服务无需重启就可以感知。不过需要通过下面两种配置实现:
方式一在@Value注入的变量所在类上添加注解@RefreshScope
这个注解的作用就是属性刷新
使用@ConfigurationProperties注解
这个注解可以完成配置的自动加载
多环境配置共享
微服务启动时会从nacos读取多个配置文件:
-
[spring.application.name]-[spring.profiles.active].yaml
例如:userservice-dev.yaml -
[spring.application.name].yaml
例如: userservice.yaml
无论profile如何变化,[spring.application.name].yaml这个文件一定会加载,因此多环境共享配置可以写入这个文件
多环境的优先级
Nacos的配置优先级如下:
本地环境: application.yml
此时nacos中没有进行配置
运行后
nacos:userservice.yaml
访问服务之后,获得的是nacos中配置文件的配置
现在又加了一个
nacos:userservice-dev.yaml
运行则:
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)