springcloud配置系列二【 nacos配置中心配置】

9 篇文章 0 订阅

一、在Spring Boot中,当使用Nacos作为配置中心时,配置文件的匹配规则主要依赖于几个关键属性:

  • spring.application.name
  • spring.profiles.active
  • spring.cloud.nacos.config.prefix
  • spring.cloud.nacos.config.file-extension
  • spring.cloud.nacos.config.namespace

二、Nacos配置文件的匹配规则详解:

  • 1、Data ID的构造:
    构造规则:
    ${spring.cloud.nacos.config.prefix}-${spring.profile.active}.${spring.cloud.nacos.config.file-extension}
    默认情况下,会用spring.application.name代替prefix, 规则是:
    ${spring.application.name}-${spring.profile.active}.${spring.cloud.nacos.config.file-extension}
    如果设置了spring.cloud.nacos.config.prefix,则Data ID的构造规则变为${spring.cloud.nacos.config.prefix}-${spring.profile.active}.${spring.cloud.nacos.config.file-extension}
  • 2、Profiles的支持:
    如果激活了多个profiles(通过spring.profiles.active指定),则可以在Data ID中包含这些profiles,形如${spring.application.name}-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
    这里的spring.profiles.active可以包含多个profiles,用逗号分隔。
  • 3、Namespace的隔离:
    通过spring.cloud.nacos.config.namespace属性,你可以指定不同的命名空间(Namespace)来隔离不同的环境或应用。
    在多租户场景下,命名空间可以用来隔离不同租户的配置。
  • 4、Group的分组:
    配置分组(Group)通常用于区分不同环境下的配置,例如开发环境、测试环境、生产环境等。
    默认情况下,所有配置都属于DEFAULT_GROUP,但你也可以自定义分组。
  • 5、匹配优先级:
    当存在多个配置文件匹配规则时,Nacos会按照特定的优先级来加载配置。通常,不带profile的配置文件会先于带profile的配置文件加载。例如:application.yaml 先于application-dev.yaml 加载。
    如果指定了具体的Namespace和Group,那么Nacos会首先在这些限定条件下寻找匹配的配置文件。
  • 6、配置覆盖:
    如果存在多个配置文件匹配到了相同的配置项,后加载的配置会覆盖先加载的配置。
    配置文件之间的覆盖关系是基于配置的加载顺序和激活的profiles来确定的。
  • 7、文件格式:
    Nacos支持.properties和.yml(或.yaml)两种格式的配置文件。
    通过spring.cloud.nacos.config.file-extension属性来指定配置文件的格式。
    在实际应用中,你需要根据具体的项目需求和环境设置来配置这些属性,以确保Nacos能够正确加载和覆盖你的配置。同时,也要注意Nacos的版本和Spring Cloud的版本兼容性问题,以确保配置中心的稳定运行。

三、配置示例:

spring:
  cloud:
    nacos:
      # 注册中心
      discovery:
        server-addr: http://localhost:8848
        namespace: myspace #不设置默认public
        group: mygroup #默认 DEFAULT_GROUP
      # 配置中心
      config:
        server-addr: http://localhost:8848
        namespace: myspace
        group: mygroup 
        file-extension: yaml- #配置文件格式后缀,不设置默认 properties
        shared-configs:    # 共享配置文件列表,可以多个项目共享此配置文件
          - data-id: common.yaml
          	group: DEFAULT_GROUP
            refresh: true

原创文章,引用请注明出处。

  • 10
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值