2012-03-31 58 views
4

隨着我們的系統的發展,越來越多的服務器和服務(不同類型和同一類型的多個實例需要較小的配置更改)。我們正在尋找一種「cetralized configuration」解決方案,最好是現有的,我們無需從scrtach開發。 這個想法是類似的,服務上升,它知道一個單一的數據(它的類型+位置+版本+ serviceID或類似的東西),並聯系一些中央服務,它會給它適當的配置(文件,對象或任何)。 如果上線的服務無法找到配置服務,它將使用緩存的配置或拒絕初始化(行爲應該可以在啓動參數中指定,它從誰或其他人獲得的啓動參數中指定) 配置服務應該是高度可用的,即一組服務器(ZooKeeper聽起來像是一個完美的候選人) 該服務應該最好支持繼承的概念,允許一個全局配置文件的服務類型,然後具體覆蓋或擴展每個實例通過它的ID服務。此外,它應該支持諸如配置版本控制之類的功能,允許爲不同版本保留相同服務類型的不同配置,因爲我們希望更多地依靠並行部署服務。 等式的另一方面是有一個配置管理工具可以連接到相同的集中配置服務,並且可以根據上述要求檢查和更新所有配置。將集中式配置添加到我們的服務器中

我知道,如果我修改從服務拉配置數據到將數據推送到它的核心要求,我可以使用傀儡或廚師來管理一切。我必須誠實地說,我對這兩個系統(我們的IT團隊有更多)沒有多少經驗,但從我的調查中我可以看出,他們似乎並不是這份工作的正確工具。

是否有任何系統與我之前描述的任何人都已經集成的系統類似?

回答

2

我只有本土解決方案的經驗,所以我的回答可能無法解決您的問題,但可能會幫助別人。我們已經非常成功地利用網絡服務器和SVN機器人進行配置管理。這個解決方案並不意味着你將不得不「從頭開始」,但也不是交鑰匙解決方案。

我們有多個網絡服務器,每個網絡服務器在同步分鐘的基礎上從SVN存儲庫刷新其配置。客戶端將使用/type=...&location=...&version=...類型的HTTP參數來請求服務器。那些必要時可以在視圖中使用這些值來自定義配置。我們在Spring Live XML文件和live field=value屬性文件中都這樣做了。

雖然我們可以通過JMX觸發拉動,但我們的系統只能拉動如果需要的話。

希望這有些幫助。

1

Config4*(其中我是維護者)可以爲您提供大部分即用即用的功能,並且我懷疑您可以在其上輕鬆構建其餘功能。

閱讀「入門」手冊的第2章和第3章,瞭解Config4 *的功能(不用擔心,它們是非常簡短的章節)。這樣做可以幫助您決定Config4 *如何滿足您的需求。

您可以在Config4*網站的主頁末尾附近找到PDF和HTML版本手冊的鏈接。

相關問題