Nacos-配置集中管理

在微服务的分布式项目架构中,存在很多子模块、很多服务、也包括承载他们的很多服务器主机
如此,每个模块的配置文件都在模块中,将使得 系统整体配置难以维护,不方便运维操作!

而且,我们作为开发人员,在实际工作中往往有专业的运维人员来管控这些配置文件
这是为了配置安全(并不是所有配置信息都能给开发人员知道的)、为了方便管理(集中交给运维统筹管理)

所以我们需要把配置文件都集中化管理,有以下好处:
- 整体配置一目了然,方便更改、维护
- 可以区分环境的使用配置文件(比如一个配置文件常分为dev、prod、test)

目录

基于Nacos集中管理配置 

配置感知


基于Nacos集中管理配置 


参与配置文件集中管理的项目需要的依赖:
注意 以下的依赖选择二选一,因为不同的依赖采取的配置将会不同!(在这儿踩过坑请注意)

推荐使用alibaba的!本篇笔记只记录关于这个依赖的配置项!
<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>

<dependency>
	<groupId>org.springframework.cloud</groupId>
	<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>

然后,将原来的配置文件重命名:

application -> 服务名-环境.yml(user-consumer-dev.yml)
另外区别环境,多复制几个,更改不同环境所需的配置信息

user-consumer-dev.yml  开发环境
user-consumer-test.yml  测试环境
user-consumer-pro.yml  生产环境

创建后,打包压缩成zip,上传到nacos配置中心

bootstrap.yml:
在以往的学习中常常忽略这个配置文件,这才是springboot项目最优先加载的
所以利用这一特性,在bootstrap里配置nacos配置管理,让模块的运行依照指引读取指定的配置文件

#变更配置环境
spring:
  profiles:
    active: pro

  #应用服务的名字
  application:
    name: user-consumer

  #nacos配置
  cloud:
    nacos:
      config:
        # nacos连接
        server-addr: 127.0.0.1:8848,127.0.0.1:8849
        # 配置文件的后缀名
        file-extension: yml
        # 配置文件所在的组
        group: user-consumer
        
        #最后指引的配置文件:user-consumer-dev.yml

可以通过修改不同环境配置文件的端口号,来简单测试一下哦

配置感知


项目运行中,感知配置的变化,并作出调整

在需要生效的类上,添加注解:@RefreshScope
当配置文件改动后,也是需要过一会才会生效的!

配置感知的实现并不复杂,但是使用的时候,一定要小心谨慎!

Nacos的安装、修改账号、简单集群参考:https://blog.csdn.net/ParkerAAA/article/details/107728651 

猜你喜欢

转载自blog.csdn.net/ParkerAAA/article/details/107729529