2016-05-16 346 views
0

我想使用spring cloud config來外化應用程序屬性。我已經配置了配置服務器和客戶端,但我不想使用git(enterprise)作爲源,這是由於git可能因維護而關閉的事實。因此,我考慮將應用程序屬性發布到nexus,並將其作爲application.properties.tar.gz,並執行以下操作:彈簧引導雲配置

1.)當config-server啓動時,從nexus下載發行版,然後將tar.gz解壓縮到運行配置服務器的服務器上的文件系統。

2.)配置服務器將選擇解壓後的屬性文件。

請注意,nexus url,application.properties.tar.gz版本和位置都作爲VM選項傳遞給配置服務器。

這是一個明智的選擇嗎?如果這不是最好的選擇,請你能提出任何其他選擇嗎?

感謝 kankalam

回答

0

除非Git的服務器正在維護中如此頻繁,我也不會用這個選項去,這似乎是矯枉過正。另外Nexus服務器可能會關閉,所以這樣做沒有任何優勢。

配置服務器不會從存儲庫中一次又一次讀取配置,存儲庫在請求配置時被克隆。從docs

定位屬性源默認策略是克隆一個Git倉庫 (在spring.cloud.config.server.git.uri),並用它來 初始化迷你SpringApplication。迷你應用程序的 環境用於枚舉屬性源並通過JSON端點 發佈它們。

考慮到這一點,您需要檢查您使用的git服務器在啓動應用程序之前或刷新其上下文之前是否可用。如果你覺得這可能是一個問題,你仍然有兩種選擇:

  • 成立了專門的Git服務器爲您的應用程序(查看Gogs作爲一個輕量級的選項)。
  • 轉到「原生」方式並從文件系統加載文件。這樣你就沒有配置文件的版本控制,但你可以在你的項目中單獨執行。