【微服务|Nacos】Nacos实现分布式配置中心进阶版

Spring Cloud Alibaba Nacos Config可支持自定义 Data Id 的配置。

完全关闭配置

通过设置 spring.cloud.nacos.config.enabled = false 来完全关闭 Spring Cloud Nacos Config

优先级

通过测试发现多个 Data Id 同时配置时,他的优先级关系是 spring.cloud.nacos.config.ext-config[n].data-id 其中 n 的值越大,优先级越高。

共享配置

  # 共享文件
        shared-configs[0]:
          dataId: shared.yaml
          # 自动刷新,默认不开启
          refresh: true
        shared-configs[1]:
          dataId: shared1.yaml
          refresh: true

扩展配置

         # 扩展文件
        extension-configs[0]:
          dataId: extension.yaml
          refresh: true
        extension-configs[1]:
          dataId: extension1.yaml
          refresh: true

自动刷新

程序中如果写了@Value注解,可以采用@RefreshScope实现刷新,只需要在指定类上添加该注解即可

不同方式配置加载优先级:

Nacos 配置中心目前提供以下三种配置能力从 Nacos 拉取相关的配置,当三种方式共同使用时,他们的一个优先级关系是:A < B < C:

A:通过 spring.cloud.nacos.config.shared-configs[n].data-id 支持多个共享 Data Id 的配置 B:通过 spring.cloud.nacos.config.extension-configs[n].data-id 的方式支持多个扩展 Data Id 的配置 C:通过内部相关规则(spring.cloud.nacos.config.prefix、spring.cloud.nacos.config.file-extension、spring.cloud.nacos.config.group)自动生成相关的 Data Id 配置

bootstrap.yml

spring:
  profiles:
    active: dev
  application:
    name: ossa-service-producer
  cloud:
    nacos:
      # Docker启动nacos:
      # docker run --name mynacos -itd -e MODE=standalone -p 8848:8848 -p 9848:9848 -p 9849:9849 nacos/nacos-server:v2.0.3
      discovery:
        server-addr: 1.117.66.67
#        namespace: d5042bab-be48-4946-9465-fb6e15ab75b7
#        group: OSSA_GROUP
      config:
      # 默认就是 服务名 + 环境名 + . + yaml
        server-addr: 1.117.66.67
        file-extension: yaml
        refresh-enabled: true
#        group: OSSA_GROUP
#        namespace: d5042bab-be48-4946-9465-fb6e15ab75b7
  # 共享文件
        shared-configs[0]:
          dataId: shared.yaml
          # 自动刷新,默认不开启
          refresh: true
        shared-configs[1]:
          dataId: shared1.yaml
          refresh: true
          # 扩展文件
        extension-configs[0]:
          dataId: extension.yaml
          refresh: true
        extension-configs[1]:
          dataId: extension1.yaml
          refresh: true


原文始发于微信公众号(步尔斯特):【微服务|Nacos】Nacos实现分布式配置中心进阶版

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/48204.html

(0)
小半的头像小半

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!