【发布时间】:2019-08-11 06:38:49
【问题描述】:
我知道实现远程配置管理系统的优势,特别是 Spring Cloud 配置服务器的优势。来自Spring Microservices in Action书,第2章:
当一个微服务启动时,任何特定于环境的信息或应用配置信息数据都应该是
- 作为环境变量传入启动服务
- 从集中的配置管理存储库中读取
据我了解,当您使用Config First Bootstrap 方法时,应该在任何其他微服务中的唯一配置与配置服务器相关(例如,在bootstrap.yml 中指定spring.application.name 并传递@987654329 @ 和 spring.profiles.active 作为环境变量)。根本不需要application.yml。
所以,看到有人问(here、here 和 here)如何在本地覆盖远程配置并阅读 Spring Cloud 文档中的 Overriding the Values of Remote Properties 部分后,我有点困惑:
通过引导上下文添加到您的应用程序的属性源通常是“远程的”(例如来自配置服务器),并且默认情况下它们不能在本地覆盖,除非在命令行上。如果您想允许您的应用程序使用自己的系统属性或配置文件覆盖远程属性,则远程属性源必须通过设置
spring.cloud.config.allowOverride=true授予它权限(在本地设置此设置不起作用)。 (...)
Spring Cloud 中是否存在设置部分本地配置甚至覆盖远程配置的有效案例?
【问题讨论】:
标签: java spring spring-boot spring-cloud spring-cloud-config