java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > Nacos配置中心命名空间与组

Nacos配置中心命名空间与组的用法解读

作者:- Hola -

文章介绍了如何将配置文件拆分并放在Nacos配置中心中,包括创建命名空间和组、配置数据源、MyBatis和Spring的配置,以及如何通过bootstrap.properties文件从Nacos中引入多个配置文件,测试发现项目能正常运行,并且切换环境只需修改组名

拆分配置文件

我们可以将我们的配置文件进行拆分放到nacos配置中心中

现在的配置文件大致如下:

spring:
  datasource:
    username: root
    password: root
    url: jdbc:mysql://xxx.xx.xxx.x:3306/gulimall_sms?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&useSSL=false
    driver-class-name: com.mysql.cj.jdbc.Driver
  application:
    name: gulimall-coupon
  cloud:
    nacos:
      discovery:
        server-addr: 127.0.0.1:8848
      config:
        server-addr: 127.0.0.1:8848
mybatis-plus:
  mapper-locations: classpath*:/mapper/**/*.xml
  global-config:
    db-config:
      id-type: auto
server:
  port: 7000

仔细观察其实分为几类:Spring的配置、数据源的配置、mybatis的配置

在nacos配置中心新建命名空间和组

1.思路为:每个微服务有自己的命名空间

2.然后回到配置列表,新增配置

数据源配置

data id为要拆分的配置名,可随意(因为我这里是数据源相关的配置,故取名为datasource.yml)

统一用dev这个组

配置内容为我们抽取出来的关于数据源相关的配置

mybatis配置

spring的配置

在bootstrap.properties中配置

spring.application.name=gulimall-coupon
spring.cloud.nacos.config.server-addr=127.0.0.1:8848
spring.cloud.nacos.config.namespace=47bea605-611d-489e-836d-db7ad35dcf46
spring.cloud.nacos.config.group=dev

spring.cloud.nacos.config.extension-configs[0].data-id=datasource.yml
spring.cloud.nacos.config.extension-configs[0].group=dev
spring.cloud.nacos.config.extension-configs[0].refresh=true

spring.cloud.nacos.config.extension-configs[1].data-id=mybatis.yml
spring.cloud.nacos.config.extension-configs[1].group=dev
spring.cloud.nacos.config.extension-configs[1].refresh=true

spring.cloud.nacos.config.extension-configs[2].data-id=other.yml
spring.cloud.nacos.config.extension-configs[2].group=dev
spring.cloud.nacos.config.extension-configs[2].refresh=true

1.其中spring.cloud.nacos.config.namespace为我们的命名空间ID

2.spring.cloud.nacos.config.group=dev,为选择的命名空间下的组

3.spring.cloud.nacos.config.extension-configs可接收一个数组,所有我们可以以数组的方式从nacos中引入多个配置

 public void setExtensionConfigs(List<NacosConfigProperties.Config> extensionConfigs) {
        this.extensionConfigs = extensionConfigs;
    }
配置解析
spring.cloud.nacos.config.extension-configs[0].data-id为我们之前在nacos中新建的拆分出来的配置文件的data id
spring.cloud.nacos.config.extension-configs[0].group命名空间下的组
spring.cloud.nacos.config.extension-configs[0].refresh实时刷新,默认为false

测试

我们将原来项目中appliction.yml中的所有配置项全部注释,发现项目能正常运行,且可以正常调用优惠券服务。

切换环境只需修改组名就好了,无需修改命名空间名。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文