Nacos配置管理

发布时间:2023年12月31日

一、Nacos实现配置管理

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

配置各项参数,点击保存

二、微服务配置拉取

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

  1. ?在Nacos中添加配置文件。
  2. 在微服务中引入nacos的config依赖。
  3. 在微服务中添加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

?

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

?

?选择该文件并编辑,将蓝色选中的注释删除

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

文章来源:https://blog.csdn.net/m0_72803119/article/details/135308112
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。