|
对于最新的稳定版本,请使用Spring Cloud Config 5.0.0! |
与所有应用程序共享配置
所有应用程序之间的配置共享方式取决于你采用的策略,具体内容如下:
基于文件的仓库
基于文件的仓库(git、svn 和原生)中,文件名的资源应用* (application.properties,application.yml,application-*.properties,等等)在所有客户端应用之间共享。
你可以使用带有这些文件名的资源来配置全局默认值,并根据需要被应用程序特定文件覆盖。
属性覆盖功能也可用于设置全局默认值,并带有占位符应用 允许在本地覆盖这些规则。
使用“原生”配置文件(本地文件系统后端),你应该使用一个不属于服务器自身配置的显式搜索位置。
否则,应用*默认搜索位置的资源会被移除,因为它们属于服务器。 |
Vault 服务器
当使用 Vault 作为后端时,你可以通过在秘密/应用.
例如,如果你执行以下 Vault 命令,所有使用配置服务器的应用程序都会拥有这些属性福和巴兹他们可获得:
$ vault write secret/application foo=bar baz=bam
CredHub服务器
使用CredHub作为后端时,可以通过在/应用/或者通过将其置于默认值申请时的个人资料。
例如,如果你执行以下 CredHub 命令,所有使用配置服务器的应用程序都会拥有这些属性共享。颜色1和共享.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 后端共享配置,请将记录插入数据库中“应用”作为应用列中用于所有客户端共享的条目值。应用特定属性可以覆盖这些共享配置,提供对应用环境的灵活性和控制。
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');
参见Jdbc环境仓库实现及相关测试,提供使用 JDBC 仓库的详细设置和配置管理示例。