nacos系列(nacos2.0.3集成细节)

nacos2.0.3 集成注意点

配置问题

SpringCloud 2.4版本 之后不再 优先读取bootstrap文件 导致bootstrap.yml不起作用

    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-bootstrap</artifactId>
    </dependency>

加载问题

如果项目中既有bootstrap.yml和application.yaml文件

  1. bootstrap.yml文件加载在前
  2. 如果都设置了端口号,application为启动端口
  3. file-extension: yml 后缀 存在就会只扫描对应后缀,eg:yml 默认是properties后缀文件,不存在报错
  4. profiles:active:dev 服务启动会自动订阅 服务名-dev,yml 和服务名,yml两个配置文件,
    先根据配置精准定位,如果服务名-dev.yml文件不存在,就用服务名.yml 配置文件
  5. server-addr: \({NACOS_IP:127.0.0.1}:\){NOCOS_PORT:8848} 环境变量替换
  6. shared-configs 默认从改namespace下的DEFAULT_GROUP下读取
    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: 通过内部相关规则(应用名、应用名+ Profile )自动生成相关的 Data Id 配置
    当三种方式共同使用时,他们的一个优先级关系是:A < B < C

共享配置文件 支持多个文件 不存在也不会报错

    # 可以使用下面方式  也可以使用  shared-configs[0] 方式:  2号配置优先级> 1号
    shared-configs:
      # 1号
      - data-id: application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
        group: ${spring.profiles.active}
        refresh: true
      # 2号
      - data-id: application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
        refresh: true
posted @ 2022-08-08 22:31  陽66  阅读(442)  评论(0)    收藏  举报