Nacos 的配置文件标识 Data Id

《bootstrap.yml》

spring:
  application:
    name: pfme-kafka-transpond2yz
  profiles:
    active: dev
  cloud:
    nacos:
      config:
        namespace: pfme
        group: ${spring.application.name}
        file-extension: yml
      discovery:
        namespace: pfme
        group: ${spring.profiles.active}

《bootstrap-dev.yml》

spring:
  cloud:
    nacos:
      config:
        # nacos服务器,可nginx负载
        server-addr: *.*.*.*:8080
      discovery:
        # nacos服务器,可nginx负载
        server-addr: *.*.*.*:8080

分析应用pfme-kafka-transpond2yz的启动日志,发现应用会查找DataId=pfme-kafka-transpond2yz、DataId=pfme-kafka-transpond2yz.yml、pfme-kafka-transpond2yz-dev.yml的nacos配置文件

[subscribe] pfme-kafka-transpond2yz+pfme-kafka-transpond2yz+pfme
[add-listener] ok, tenant=pfme, dataId=pfme-kafka-transpond2yz, group=pfme-kafka-transpond2yz, cnt=1
[subscribe] pfme-kafka-transpond2yz.yml+pfme-kafka-transpond2yz+pfme
[add-listener] ok, tenant=pfme, dataId=pfme-kafka-transpond2yz.yml, group=pfme-kafka-transpond2yz, cnt=1
[subscribe] pfme-kafka-transpond2yz-dev.yml+pfme-kafka-transpond2yz+pfme
[add-listener] ok, tenant=pfme, dataId=pfme-kafka-transpond2yz-dev.yml, group=pfme-kafka-transpond2yz, cnt=1

结论:pfme-kafka-transpond2yz 项目默认只会在指定的 group下查找 Data Id 为pfme-kafka-transpond2yz、pfme-kafka-transpond2yz.yml、pfme-kafka-transpond2yz-dev.yml的配置文件,即默认只会查找Data Id格式为{spring.application.name}-{spring.profile.active}.{file-extension} 的配置文件

扩展:应用自定义扩展的DataId配置

spring:
  application:
    name: pfme-kafka-transpond2yz
  cloud:
    nacos:
      config:
		namespace: pfme
        group: ${spring.application.name}
        file-extension: yml
        # config external configuration 
        ext-config[0]:
          data-id: ext-config-common01.yml
          group: COMMON_GROUP
          refresh: true
        ext-config[1]:
          data-id: ext-config-common02.yml
          group: COMMON_GROUP
          refresh: true
	  discovery:
		namespace: pfme
        group: ${spring.profiles.active}

关于配置文件的优先级

bootstrap.yml 配置的优先级高于application.yml; 默认配置{spring.application.name}-{spring.profile.active}.{file-extension}的优先级高于通用配置ext-config-common*.yml的优先级;

你可能感兴趣的:(Nacos,java,kafka,spring)