此版本仍在开发中,尚未被视为稳定版本。对于最新的稳定版本,请使用 Spring Cloud Config 4.1.4! |
与所有应用程序共享配置
在所有应用程序之间共享配置因您采用的方法而异,如以下主题所述:
基于文件的存储库
对于基于文件的(git、svn 和 native)存储库,文件名为application*
(application.properties
,application.yml
,application-*.properties
等)在所有客户端应用程序之间共享。
您可以使用具有这些文件名的资源来配置全局默认值,并根据需要将它们覆盖为特定于应用程序的文件。
属性覆盖功能还可用于设置占位符应用程序的全局默认值 允许在本地覆盖它们。
使用 “native” profile (a local file system backend) ,您应该使用不属于服务器自身配置的显式搜索位置。
否则,application* 默认搜索位置中的资源将被删除,因为它们是服务器的一部分。 |
Vault 服务器
当使用 Vault 作为后端时,您可以通过将配置放在secret/application
.
例如,如果运行以下 Vault 命令,则使用配置服务器的所有应用程序都将具有foo
和baz
他们可以使用:
$ vault write secret/application foo=bar baz=bam
CredHub 服务器
当使用 CredHub 作为后端时,您可以通过将配置放入/application/
或者将其放在default
配置文件。
例如,如果运行以下 CredHub 命令,则使用配置服务器的所有应用程序都将具有属性shared.color1
和shared.color2
他们可以使用:
credhub set --name "/application/profile/master/shared" --type=json
value: {"shared.color1": "blue", "shared.color": "red"}
credhub set --name "/my-app/default/master/more-shared" --type=json
value: {"shared.word1": "hello", "shared.word2": "world"}
JDBC 环境存储库
要使用 JDBC 后端共享配置,请使用'application'
作为 application 列中要在所有客户端之间共享的条目的值。然后,特定于应用程序的属性可以覆盖这些共享配置,从而提供灵活性和对应用程序环境的控制。
INSERT INTO PROPERTIES (APPLICATION, PROFILE, LABEL, KEY, VALUE)
VALUES ('application', 'default', 'master', 'a.b.c', 'shared-value');
INSERT INTO PROPERTIES (APPLICATION, PROFILE, LABEL, KEY, VALUE)
VALUES ('myapp', 'prod', 'master', 'd.e.f', 'specific-value');
请参阅JdbcEnvironmentRepository
implementation and associated tests 有关使用 JDBC 存储库进行设置和配置管理的详细示例。