Nacos配置管理

一、Nacos实现配置管理

点击 “配置管理” ,“配置列表”,点击右侧列表“+”号

Nacos配置管理_第1张图片

配置各项参数,点击保存

Nacos配置管理_第2张图片

二、微服务配置拉取

将配置交给Nacos管理的步骤 :

  1.  在Nacos中添加配置文件。
  2. 在微服务中引入nacos的config依赖。
  3. 在微服务中添加bootstrap.yml,配置nacos地址、当前环境、服务名称、文件后缀名。这些决定了程序启动时去nacos读取哪个文件。

1、引入Nacos的配置管理客户依赖


        
                com.alibaba.cloud
                spring-cloud-starter-alibaba-nacos-config
        

Nacos配置管理_第3张图片 

2、在项目中的resource 目录添加一个bootstrap.yml文件,这个文件是引导文件,优先级高于application.yml。

Nacos配置管理_第4张图片

为了看一下效果,这里使用value注解直接使用其配置

Nacos配置管理_第5张图片

最后启动项目 ,看效果:

Nacos配置管理_第6张图片

三、 配置热更新

Nacos中的配置文件变更后,微服务无需重启就可以感知。

(一)配置自动刷新

方式一:在@Value注入的变量所在类上添加注解@RefreshScope

Nacos配置管理_第7张图片

 

 重启项目!!!

 然后 “编辑配置” 发布

Nacos配置管理_第8张图片

 

这时刷新一下,它的格式就由yyyy-MM-dd HH:mm:ss 变为了 yyyy/MM/dd HH:mm:ss(以后再改配置就无需再重启项目,只需刷新网页)

Nacos配置管理_第9张图片

 

(二)配置自动刷新

方式二:使用@ConfigurationProperties注解

使其可以属性的自动封装。

Nacos配置管理_第10张图片

再使用 @Autowired 注解将此类注入使用

Nacos配置管理_第11张图片

重启项目后 更改其年月日的形式(这里我就不配置了)

Nacos配置管理_第12张图片

 

三、多环境共享配置

新建一个共享配置文件( Data id 可以使用你的项目名.yaml )

里面我随便写了一个配置

Nacos配置管理_第13张图片

 、

我还是使用的上面第二种热更新的方式,然后进行注入使用~

并且在这里写了一个响应方法。

启动项目(这里我启动的是8081端口的)Nacos配置管理_第14张图片

 

然后将其属性改为 test,启动8082端口

  • dev:表示当前使用的配置是开发环境的配置。
  • test:表示当前使用的配置是测试环境的配置。
  • prod:表示当前使用的配置是生产环境的配置。

Nacos配置管理_第15张图片

 

可以看到下面两张图,第一个8081端口是在dev开发环境中启动,两个配置文件中的属性都读出来了。

第二个8082端口实在test测试环境中启动,只读出来了共享配置文件中的属性。

Nacos配置管理_第16张图片

Nacos配置管理_第17张图片

 

 


给本地、公共、以及当前环境配置name属性

Nacos配置管理_第18张图片Nacos配置管理_第19张图片Nacos配置管理_第20张图片

  

最后刷新8081端口页面可以看到 显示的是当前环境 配置name属性的值。

Nacos配置管理_第21张图片

 

 总结:

Nacos配置管理_第22张图片

 

 四、集群搭建

将nacos文件夹先复制出来一份

选中该文件然后将名称改为  cluster.conf

Nacos配置管理_第23张图片

 

 选择该文件并编辑,更改地址及端口号

Nacos配置管理_第24张图片

 

 选择该文件并编辑,将蓝色选中的注释删除Nacos配置管理_第25张图片

Nacos配置管理_第26张图片Nacos配置管理_第27张图片

不行了,写不下去了,这玩意是真恶心,开这么多东西,静等一百年让大佬开发出一个极简的方式。(不做大项目就别深究微服务了)

你可能感兴趣的:(java,开发语言,springcloud,微服务,Nacos集群)