Nacos配置管理
一、Nacos实现配置管理
点击 “配置管理” ,“配置列表”,点击右侧列表“+”号
配置各项参数,点击保存
二、微服务配置拉取
将配置交给Nacos管理的步骤 :
- ?在Nacos中添加配置文件。
- 在微服务中引入nacos的config依赖。
- 在微服务中添加bootstrap.yml,配置nacos地址、当前环境、服务名称、文件后缀名。这些决定了程序启动时去nacos读取哪个文件。
1、引入Nacos的配置管理客户依赖
<!-- nacos配置管理依赖-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
?
2、在项目中的resource 目录添加一个bootstrap.yml文件,这个文件是引导文件,优先级高于application.yml。
为了看一下效果,这里使用value注解直接使用其配置
最后启动项目 ,看效果:
三、?配置热更新
Nacos中的配置文件变更后,微服务无需重启就可以感知。
(一)配置自动刷新
方式一:在@Value注入的变量所在类上添加注解@RefreshScope
?
?重启项目!!!
?然后 “编辑配置” 发布
?
这时刷新一下,它的格式就由yyyy-MM-dd HH:mm:ss 变为了 yyyy/MM/dd HH:mm:ss(以后再改配置就无需再重启项目,只需刷新网页)
?
(二)配置自动刷新
方式二:使用@ConfigurationProperties注解
使其可以属性的自动封装。
再使用 @Autowired 注解将此类注入使用
重启项目后?更改其年月日的形式(这里我就不配置了)
?
三、多环境共享配置
新建一个共享配置文件( Data id 可以使用你的项目名.yaml )
里面我随便写了一个配置
?、
我还是使用的上面第二种热更新的方式,然后进行注入使用~
并且在这里写了一个响应方法。
启动项目(这里我启动的是8081端口的)
?
然后将其属性改为 test,启动8082端口
- dev:表示当前使用的配置是开发环境的配置。
- test:表示当前使用的配置是测试环境的配置。
- prod:表示当前使用的配置是生产环境的配置。
?
可以看到下面两张图,第一个8081端口是在dev开发环境中启动,两个配置文件中的属性都读出来了。
第二个8082端口实在test测试环境中启动,只读出来了共享配置文件中的属性。
?
?
给本地、公共、以及当前环境配置name属性
??
最后刷新8081端口页面可以看到 显示的是当前环境 配置name属性的值。
?
?总结:
?
?四、集群搭建
将nacos文件夹先复制出来一份
选中该文件然后将名称改为??cluster.conf
?
?选择该文件并编辑,更改地址及端口号
?
?选择该文件并编辑,将蓝色选中的注释删除
不行了,写不下去了,这玩意是真恶心,开这么多东西,静等一百年让大佬开发出一个极简的方式。(不做大项目就别深究微服务了)
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!