W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
在某些情況下,您可能希望從多個環(huán)境存儲庫中提取配置數(shù)據(jù)。為此,您可以在配置服務(wù)器的應(yīng)用程序?qū)傩曰験AML文件中啟用composite配置文件。例如,如果要從Subversion存儲庫以及兩個Git存儲庫中提取配置數(shù)據(jù),則可以為配置服務(wù)器設(shè)置以下屬性:
spring: profiles: active: composite cloud: config: server: composite: - type: svn uri: file:///path/to/svn/repo - type: git uri: file:///path/to/rex/git/repo - type: git uri: file:///path/to/walter/git/repo
使用此配置,優(yōu)先級由composite鍵下的存儲庫列出順序確定。在上面的示例中,首先列出了Subversion存儲庫,因此在Subversion存儲庫中找到的值將覆蓋在一個Git存儲庫中為同一屬性找到的值。在rex Git存儲庫中找到的值將在walter Git存儲庫中為相同屬性找到的值之前使用。
如果只想從每種不同類型的存儲庫中提取配置數(shù)據(jù),則可以在配置服務(wù)器的應(yīng)用程序?qū)傩曰験AML文件中啟用相應(yīng)的配置文件,而不啟用composite配置文件。例如,如果要從單個Git存儲庫和單個HashiCorp Vault服務(wù)器中提取配置數(shù)據(jù),則可以為配置服務(wù)器設(shè)置以下屬性:
spring: profiles: active: git, vault cloud: config: server: git: uri: file:///path/to/git/repo order: 2 vault: host: 127.0.0.1 port: 8200 order: 1
使用此配置,可以通過order屬性確定優(yōu)先級。您可以使用order屬性為所有存儲庫指定優(yōu)先級順序。order屬性的數(shù)值越低,優(yōu)先級越高。存儲庫的優(yōu)先級順序有助于解決包含相同屬性值的存儲庫之間的任何潛在沖突。
如果您的復(fù)合環(huán)境包括上一個示例中的Vault服務(wù)器,則在對配置服務(wù)器的每個請求中都必須包含Vault令牌。請參閱Vault后端。
從環(huán)境存儲庫中檢索值時,任何類型的故障都會導(dǎo)致整個組合環(huán)境的故障。
使用復(fù)合環(huán)境時,所有存儲庫都包含相同的標(biāo)簽很重要。如果您的環(huán)境與前面的示例中的環(huán)境類似,并且您請求帶有master
標(biāo)簽的配置數(shù)據(jù),但是Subversion存儲庫不包含名為master
的分支,則整個請求將失敗。
除了使用Spring Cloud中的一個環(huán)境存儲庫之外,您還可以提供自己的EnvironmentRepository bean作為復(fù)合環(huán)境的一部分。為此,您的bean必須實現(xiàn)EnvironmentRepository接口。如果要在復(fù)合環(huán)境中控制自定義EnvironmentRepository的優(yōu)先級,則還應(yīng)該實現(xiàn)Ordered接口并覆蓋getOrdered方法。如果未實現(xiàn)Ordered接口,則EnvironmentRepository的優(yōu)先級最低。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: