【Nacos】配置参考

让nacos配置可以被覆盖

spring:
  cloud:
    config:
      allow-override: true  # 开启远程配置能力
      override-none: true  # 本地配置优先
      override-system-properties: false  # 系统配置最高优先级

1. spring.cloud.config.allow-override: true
核心作用:开启配置覆盖功能
默认值:true
含义:允许外部配置(Nacos配置中心远程配置) 去覆盖应用内部的配置
如果设为 false:远程配置完全不能覆盖任何本地配置,配置中心基本失效
简单记:总开关,必须开 true,远程配置才能生效。

2. spring.cloud.config.override-none: true
核心作用:本地配置优先,远程配置只补全缺失项
默认值:false
含义:
本地已经配置的属性 → 保留本地,远程不覆盖
本地没有配置的属性 → 用远程配置补全
这是生产环境最安全的配置,避免远程配置意外覆盖本地关键配置(如端口、数据库地址)
简单记:本地说了算,远程只填空

3. spring.cloud.config.override-system-properties: false
核心作用:禁止远程配置覆盖 系统属性 / JVM 参数 / 环境变量
默认值:true
含义:
true:远程配置可以覆盖 JVM 参数、操作系统环境变量
false:系统级配置优先级最高,远程配置绝对不能覆盖它们
系统属性包括:-D 启动参数、环境变量、系统配置等
简单记:系统配置最高级,远程动不了。

这是微服务生产标准配置,适合:
本地配置关键参数(端口、注册中心地址)
远程配置统一管理业务参数、公共配置
防止远程配置误改本地关键配置
保证系统启动参数绝对安全不被覆盖

 

最终优先级(从高到低):系统配置 > 本地配置 > 远程配置

高  系统配置:-D启动命令(会覆盖JVM 属性)、系统环境变量、JVM默认属性

中  本地配置:文件(application.yml/bootstrap.yml),工程中的配置文件

低  远程配置:Spring Cloud Config 远程配置(最低,只能补全缺失配置),nacos中的配置

注意:Spring Boot 官方规定的配置加载优先级:-D启动参数 > 操作系统环境变量 > JVM 默认属性

系统配置优先级顺序:

高:-D 启动参数(最高,手动指定)

中:操作系统环境变量

低:JVM 默认属性(最低)

posted @ 2026-04-01 21:52  谷粒-笔记  阅读(2)  评论(0)    收藏  举报