Nacos Config

本文介绍了在微服务架构下,配置文件管理和更新的问题,以及如何通过Nacos配置中心来解决这些问题。Nacos提供了集中式管理、环境区分、实时更新等功能,简化了配置的维护。文章详细阐述了如何配置Nacos,包括引入依赖、创建额外配置文件、处理不同环境的配置以及利用组名分类管理配置。
摘要由CSDN通过智能技术生成

对于微服务框架而言,微服务的数量肯定是越来越多的,相同的微服务使用的配置文件都相同。如果要更改配置文件内容时,就需要进行大量的修改,修改所有的微服务配置文件。

微服务架构下关于配置文件的一些问题:

1. 配置文件相对分散。在一个微服务架构下,配置文件会随着微服务的增多变的越来越多,而且分散在各个微服务中,不好统一配置和管理。

2. 配置文件无法区分环境--开发环境  测试环境  线上环境。微服务项目可能会有多个环境,例如:测试环境、预发布环境、生产环

境。每一个环境所使用的配置理论上都是不同的,一旦需要修改,就需要我们去各个微服务下手动

维护,这比较困难。

3. 配置文件无法实时更新。我们修改了配置文件之后,必须重新启动微服务才能使配置生效,这对一个正在运行的项目来说是非常不友好的。

基于上面这些问题,我们就需要配置中心的加入来解决这些问题。

配置中心的思路是:

  1. 首先把项目中各种配置全部都放到一个集中的地方进行统一管理,并提供一套标准的接口。
  2. 当各个服务需要获取配置的时候,就来配置中心的接口拉取自己的配置。
  3. 当配置中心中的各种参数有更新的时候,也能通知到各个服务实时的过来同步最新的信息,使之动态更新。

当加入了服务配置中心之后,我们的系统架构图会变成下面这样:

一:使用nacos配置微服务的配置

引入依赖

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

将微服务的配置写入nacos中

 将原来微服务的配置文件删除,创建新的配置文件,文件名必须是 bootstrap.properties或者bootstrap.yaml/yml

编写配置新的配置文件

# 给微服务在nacos中指定服务名,这个服务名必须要和对应微服务的配置文件的前缀名相同
spring.application.name=order
# 指定naocs配置中心的地址
spring.cloud.nacos.config.server-addr=127.0.0.1:8848
# 配置中心中对应此为服务配置文件的后缀,默认就是properties,如果配置中心中的文件是properties可以不加,如果是yml或者yaml,则必须加
spring.cloud.nacos.config.file-extension=properties

重启微服务,进行测试

二:配置额外的配置文件

对于微服务而言,肯定会有多个微服务的配置文件中有相同的内容,例如对于数据源的配置,以及对于zipkin的配置,虽然为服务不相同,但是其中的内容是完全一样的。我们可以将相同的内容提取出来,创建成一个新的配置文件,然后所有的微服务都可以直接引用这个配置文件中的内容。

将配置文件中的关于DataSource的配置提取,创建一个新的datasource.properties。

 

然后将所有微服务的配置文件中的关于datasource配置删除,在配置文件中,引入datasource.properties配置文件

重启微服务,进行测试,可以正常进行请求的提交。

三:对于各种环境的配置 

一个项目从生产到测试再到发布,肯定是有不同的运行环境的,开发环境和测试环境,对应的配置文件内容肯定也不相同。如果我们直接将原本的配置文件删除,替换成新的配置文件这样是很麻烦的,所以我们可以在 nacos中,针对不同的环境,设置不同的配置文件,这样在项目的配置文件中,我们只需要引用就可以,在开发的时候,引用开发环境的配置文件,在测试的时候,引用测试的配置文件。

 

 创建好空间之后,将配置文件引入到空间中

    

 引入后,对应的命名空间的配置就会增加

 在项目的配置文件中引入命名空间,使用命名空间的ID号

重启微服务进行测试。

四:使用不同的组名 

在进行开发的时候,我们肯定不会一直都只写一个项目,我们就可以将项目的配置文件就可以进行分类,属于同一个项目的配置文件就放在同一个组下。然后在项目的配置文件中,声明要引入那个组的配置文件即可。

在nacos创建配置的时候,就需要将组指定,创建完成之后是不允许进行修改的

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值