小工具知识网

当前位置: 首页 > 行业知识 > SpringCloud + Nacos配置文件优先级详解以及本地配置覆盖远程方法

行业知识

SpringCloud + Nacos配置文件优先级详解以及本地配置覆盖远程方法

2026-11-10 14:14:43 来源:互联网转载

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

本地配置文件:

        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

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

spring:   application:    # 应用名称    name: test  profiles:    # 环境配置    active: dev  cloud:    nacos:      discovery:        # 服务注册地址        server-addr: 127.0.0.1:8848#        register-enabled: false      config:        # 配置中心地址        server-addr: 127.0.0.1:8848        # 配置文件格式        file-extension: yml        # 共享配置        shared-configs:          - data-id: application1-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}            group: DEFAULT_GROUP          - data-id: application2-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}            group: DEFAULT_GROUP        extension-configs:          - data-id: config1.yml            group: DEFAULT_GROUP          - data-id: config2.yml            group: DEFAULT_GROUP

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

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

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

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

上一篇:怎么把迷你服务器卡崩掉?

下一篇:Pytorch学习 day01(Jupyter安装、常用函数、三种编辑器的对比)