欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Nacos加载多个配置集

程序员文章站 2022-03-14 12:14:55
...

一 点睛

当微服务数量很庞大时,将所有配置都书写到一个配置文件中,显然不是太合适。对此我们可以将配置按照功能的不同,拆分为不同的配置文件。

二 操作步骤

1 原来的配置文件

spring:
  datasource:
    username: root
    password: root
    url: jdbc:mysql://192.168.0.110:3306/gulimall_sms
    driver-class-name: com.mysql.jdbc.Driver
  cloud:
    nacos:
      discovery:
        server-addr: 127.0.0.1:8848
  application:
    name: gulimall-coupon

mybatis-plus:
  mapper-locations: classpath:/mapper/**/*.xml
  global-config:
    db-config:
      id-type: auto
server:
  port: 7000

2 将该配置文件拆分成3个配置文件

a datasource.yml:用于存储和数据源有关的配置

spring:
  datasource:
    username: root
    password: root
    url: jdbc:mysql://192.168.0.110:3306/gulimall_sms
    driver-class-name: com.mysql.jdbc.Driver

b mybatis.yml:用于存储和mybatis相关的配置

mybatis-plus:
  mapper-locations: classpath:/mapper/**/*.xml
  global-config:
    db-config:
      id-type: auto

c other.yml:其他配置

spring:
  cloud:
    nacos:
      discovery:
        server-addr: 127.0.0.1:8848
  application:
    name: gulimall-coupon
server:
  port: 7000

配置结果如下

Nacos加载多个配置集

3 修改“gulimall-coupon”的“bootstrap.properties”文件,加载“mybatis.yml”、“datasource.yml”和“other.yml”配置

spring.application.name=gulimall-coupon
spring.cloud.nacos.config.server-addr=127.0.0.1:8848
spring.cloud.nacos.config.namespace=773a607c-e974-4f9c-85f6-4728032cd993

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

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

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

"spring.cloud.nacos.config.ext-config"已经被废弃,建议使用“spring.cloud.nacos.config.extension-configs”

4 注释“application.yml”文件中的所有配置。

5 重启“gulimall-coupon”服务,然后访问:http://localhost:7000/coupon/coupon/test

Nacos加载多个配置集

6 访问:http://localhost:7000/coupon/coupon/list,查看是否能够正常的访问数据库

Nacos加载多个配置集

三 小结

  • 微服务任何配置信息,任何配置文件都可以放在配置中心。

  • 只需要在bootstrap.properties中,说明加载配置中心的哪些配置文件即可。

  • @Value, @ConfigurationProperties。都可以用来获取配置中心中所配置的信息。

  • 配置中心有的优先使用配置中心中的,没有则使用本地的配置。

 

相关标签: 微服务