Nacos配置管理——多环境配置共享

Nacos安装指南(windows版本):https://www.cnblogs.com/gfl-1112/p/17771364.html
Nacos安装指南(Linux版本):https://www.cnblogs.com/gfl-1112/p/17771373.html
Nacos的依赖:https://www.cnblogs.com/gfl-1112/p/17771375.html
Nacos注册中心:https://www.cnblogs.com/gfl-1112/p/17771589.html
Nacos配置管理——统一配置管理:https://www.cnblogs.com/gfl-1112/p/17771693.html
Nacos配置管理——配置热更新:https://www.cnblogs.com/gfl-1112/p/17771715.html
Nacos配置管理——多环境配置共享:https://www.cnblogs.com/gfl-1112/p/17772363.html
Nacos集群搭建:https://www.cnblogs.com/gfl-1112/p/17772536.html

 

微服务启动时会从nacos读取多个配置文件:

  [spring.application.name]-[spring.profiles.active].yaml,例如:userservice-dev.yaml

  [spring.application.name].yaml,例如:userservice.yaml

无论profile如何变化,[spring.application.name].yaml这个文件一定会加载,因此多环境共享配置可以写入这个文件

 

新增配置:userservice.yaml

 

测试代码:

8081端口的直接启动,可以读取到Nacos中的两个配置文件userservice-dev.yaml和userservice.yaml

8082的启动时修改命名空间为test,只能读取到一个配置文件userservice.yaml(因为userservice-test.yaml没有配置)

 

此时访问8081:获取到了共享的envSharedValue和userservice-dev.yaml中的dateformat

 此时访问8082:获取到了共享的envSharedValue和本地配置文件中的dateformat

 

 如果三个配置中都有相同的属性,优先级:

服务名-profile.yaml   >  服务名称.yaml  >  本地配置

 

不同微服务之间可以共享配置文件,通过下面的两种方式来指定

 方式一:

spring:
  application:
    name: userservice # 服务名称
  profiles:
    active: dev # 环境,
  cloud:
    nacos:
      server-addr: localhost:8848 # Nacos地址
      config: 
        file-extension: yaml # 文件后缀名
        shared-configs: # 多微服务间共享的配置列表
          - dataId: common.yaml # 要共享的配置文件id

方式二:

spring:
  application:
    name: userservice # 服务名称
  profiles:
    active: dev # 环境,
  cloud:
    nacos:
      server-addr: localhost:8848 # Nacos地址
      config: 
        file-extension: yaml # 文件后缀名
        extends-configs: # 多微服务间共享的配置列表
          - dataId: extend.yaml # 要共享的配置文件id

posted @ 2023-10-18 15:10  小小野生程序员sunny  阅读(161)  评论(0编辑  收藏  举报