SpringCloud 与所有应用程序共享配置
所有应用程序之间的共享配置根据您采用的方法而异,如以下主题所述:
基于文件的Repositories
使用基于文件(git,svn和本机)的存储库,所有客户端应用程序之间共享文件名称为application*
(application.properties
,application.yml
,application-*.properties
等)的资源。您可以使用具有这些文件名的资源来配置全局默认值,并在必要时使它们被应用程序特定的文件覆盖。
#_property_overrides [属性覆盖]功能也可以用于设置全局默认值,允许使用占位符应用程序在本地覆盖它们。
使用“ 本机 ”配置文件(本地文件系统后端),您应该使用不属于服务器自身配置的显式搜索位置。否则,默认搜索位置中的
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"}
更多建议: