您的位置:首页 > 编程语言 > Java开发

SpringCloud Alibaba Nacos作为配置中心(六)(1)--------自定义扩展的 Data Id 配置

2019-01-22 16:05 1061 查看

自定义扩展的 Data Id 配置

目前官方给出了通过两种自定义扩展的 Data Id 配置方法。

1. 通过spring.cloud.nacos.config.ext-config配置。

[code]# config external configuration
# 1、Data Id 在默认的组 DEFAULT_GROUP,不支持配置的动态刷新
spring.cloud.nacos.config.ext-config[0].data-id=ext-config-common01.properties

# 2、Data Id 不在默认的组,不支持动态刷新
spring.cloud.nacos.config.ext-config[1].data-id=ext-config-common02.properties
spring.cloud.nacos.config.ext-config[1].group=GLOBALE_GROUP

# 3、Data Id 既不在默认的组,也支持动态刷新
spring.cloud.nacos.config.ext-config[2].data-id=ext-config-common03.properties
spring.cloud.nacos.config.ext-config[2].group=REFRESH_GROUP
spring.cloud.nacos.config.ext-config[2].refresh=true

注: 

  • 通过 
    spring.cloud.nacos.config.ext-config
    .data-id
     的配置方式来支持多个 Data Id 的配置。
  • 通过 
    spring.cloud.nacos.config.ext-config
    .group
     的配置方式自定义 Data Id 所在的组,不明确配置的话,默认是 DEFAULT_GROUP。
  • 通过 
    spring.cloud.nacos.config.ext-config
    .refresh
     的配置方式来控制该 Data Id 在配置变更时,是否支持应用中可动态刷新, 感知到最新的配置值。默认是不支持的。
  • 多个 Data Id 同时配置时,他的优先级关系是 
    spring.cloud.nacos.config.ext-config
    .data-id
     其中 n 的值越大,优先级越高。
  • spring.cloud.nacos.config.ext-config
    .data-id
     的值必须带文件扩展名,文件扩展名既可支持 properties,又可以支持 yaml/yml。 此时 
    spring.cloud.nacos.config.file-extension
     的配置对自定义扩展配置的 Data Id 文件扩展名没有影响

2. 通过spring.cloud.nacos.config.shared-dataids配置

[code]spring.cloud.nacos.config.shared-dataids=bootstrap-common.properties,all-common.properties
spring.cloud.nacos.config.refreshable-dataids=bootstrap-common.properties
  • 通过 
    spring.cloud.nacos.config.shared-dataids
     来支持多个共享 Data Id 的配置,多个之间用逗号隔开。
  • 通过 
    spring.cloud.nacos.config.refreshable-dataids
     来支持哪些共享配置的 Data Id 在配置变化时,应用中是否可动态刷新, 感知到最新的配置值,多个 Data Id 之间用逗号隔开。如果没有明确配置,默认情况下所有共享配置的 Data Id 都不支持动态刷新。‘
  • 通过 
    spring.cloud.nacos.config.shared-dataids
     来支持多个共享配置的 Data Id 时, 多个共享配置间的一个优先级的关系我们约定:按照配置出现的先后顺序,即后面的优先级要高于前面
  • 通过 
    spring.cloud.nacos.config.shared-dataids
     来配置时,Data Id 必须带文件扩展名,文件扩展名既可支持 properties,也可以支持 yaml/yml。 此时 
    spring.cloud.nacos.config.file-extension
     的配置对自定义扩展配置的 Data Id 文件扩展名没有影响。
  • spring.cloud.nacos.config.refreshable-dataids
     给出哪些需要支持动态刷新时,Data Id 的值也必须明确给出文件扩展名。

 配置的优先级

 

Spring Cloud Alibaba Nacos Config 目前提供了三种配置能力从 Nacos 拉取相关的配置。

  • A: 通过 

    spring.cloud.nacos.config.shared-dataids
     支持多个共享 Data Id 的配置

  • B: 通过 

    spring.cloud.nacos.config.ext-config
    .data-id
     的方式支持多个扩展 Data Id 的配置

  • C: 通过内部相关规则(应用名、应用名+ Profile )自动生成相关的 Data Id 配置

当三种方式共同使用时,他们的一个优先级关系是:A < B < C

共享配置

通过上述的自定义扩展的 Data Id 配置可实现应用之间共享配置具体可参考一下链接,其中的二三两种方法就是本文中提到的两种方法,其中的第一种方法我测试过没有成功,要是大家测试成功的,也欢迎大家给我留言,指导我一下,感激不尽

https://github.com/spring-cloud-incubator/spring-cloud-alibaba/issues/141 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: