当前位置:   article > 正文

SpringCloud + Nacos配置文件优先级详解以及本地配置覆盖远程方法_spring cloud集成nacos实现本地配置优先

spring cloud集成nacos实现本地配置优先

        想要知道配置文件优先级首先要知道配置文件有多少种:

本地配置文件:

        bootstrap.yml、application.yml、application-{profile}.yml

远程配置文件:

        shared-configs(共享配置文件)、extension-configs(扩展配置文件)、${spring.application.name}.yaml(项目名配置文件)、${spring.application.name}-{profile}.yaml(项目名环境配置

配置文件的优先级从上到下,优先级最高的是项目名环境配置,最低的是bootstrap.yml。总体上远程配置文件高于本地配置文件。

${spring.application.name}-{profile}.yaml(项目名环境配置)

${spring.application.name}.yaml(项目名配置文件)

extension-configs(扩展配置文件)

shared-configs(共享配置文件)

application-{profile}.yml

application.yml

bootstrap.yml

扩展配置文件和共享配置文件可以配置多个,它们之间也是有优先级关系的。

  1. spring:
  2. application:
  3. # 应用名称
  4. name: test
  5. profiles:
  6. # 环境配置
  7. active: dev
  8. cloud:
  9. nacos:
  10. discovery:
  11. # 服务注册地址
  12. server-addr: 127.0.0.1:8848
  13. # register-enabled: false
  14. config:
  15. # 配置中心地址
  16. server-addr: 127.0.0.1:8848
  17. # 配置文件格式
  18. file-extension: yml
  19. # 共享配置
  20. shared-configs:
  21. - data-id: application1-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
  22. group: DEFAULT_GROUP
  23. - data-id: application2-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
  24. group: DEFAULT_GROUP
  25. extension-configs:
  26. - data-id: config1.yml
  27. group: DEFAULT_GROUP
  28. - data-id: config2.yml
  29. group: DEFAULT_GROUP

扩展配置和共享配置都符合下面配置的优先级比上面配置的优先级高,即config2.yml的优先级比config1.yml的优先级高,共享配置同理。

        但是仔测试中有时候需要本地配置能够优先远程配置,这个nacos配置中心也给我们想到了这个问题。我们只需要添加如下配置即可。

  1. spring:
  2. cloud:
  3. config:
  4. # 如果本地配置优先级高,那么 override-none 设置为 true,包括系统环境变量、本地配置文件等配置
  5. override-none: true
  6. # 如果想要远程配置优先级高,那么 allow-override 设置为 false,如果想要本地配置优先级高那么 allow-override 设置为 true
  7. allow-override: true
  8. # 只有系统环境变量或者系统属性才能覆盖远程配置文件的配置,本地配置文件中配置优先级低于远程配置;注意本地配置文件不是系统属性
  9. override-system-properties: false

需要注意这个配置要写在远程配置中心中!!!(也就是直接服务名称.yml,不可以写在服务名-环境名称.yml中)

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/685488
推荐阅读
相关标签
  

闽ICP备14008679号