2012-08-08 88 views
2

如果您正在構建一個大型的基於雲的平臺,那麼您將在該平臺中擁有許多不同的模塊/組件。範圍從Web服務配置(地址,端口,...)到您擁有的每個組件的域特定配置。可以通過給系統中的每個組件配置一個tockenized配置文件來配置這樣的系統,然後爲整個平臺提供一個大的tocken解析文件。這很快就會變得凌亂!中央配置系統

我在想這也許是一種更好的方法,將整個平臺配置集中到一個Web服務中作爲平臺的中央配置系統,然後系統中的每個組件都會來到這個Web服務並通過提供它們來請求它們的配置設置ID或唯一的配置名稱。

我甚至認爲這樣的配置必須是類型安全的,以便所有的系統組件都明確地引用它們所需的配置與鍵值方法。

這個中心配置系統的另一個重要特徵應該是使配置值依賴於服務器端,這樣我就可以說

能力

component1Config.LogServiceAddress = someMasterConfig.Address;

在服務器端。因此,只有中央配置系統知道上述邏輯,component1僅爲其LogServiceAddress獲取值,而不知道中央配置系統如何解決該問題。

我的問題是,這樣的中央配置系統是否已經存在?有沒有提供這種中央配置系統功能的開源軟件?

回答

1

廚師/木偶是在各種機器上集中配置多個堆棧的標準方法。中央服務器可以啓動遠程節點,然後在該機器上推送所需的堆棧。雖然我看到用於配置軟件的用法,但我認爲它可以擴展以滿足您的需求!

0

WCF Discovery Overview

撥打服務,當服務宣佈,將其添加到服務列表。使用元數據來提供配置設置等。

公平地說,還有Mono.Zeroconf這需要bonjour(蘋果)。

+0

謝謝你的迴應,但服務發現真的不是我正在尋找的東西。我正在尋找一個集中的地方,所有的系統組件都可以包含Web服務。我的意思是,所有的數據庫連接字符串,所有的域相關的配置,如AwsAccessKey和基本上所有的app.config配置類型將駐留和自動分佈的一個地方。 – iCode 2012-08-10 00:45:32

+0

我知道我可以建立這個,但想知道這樣的事情是否已經存在? – iCode 2012-08-10 00:45:55

+0

Mono.Zeroconf是「已經存在」的東西,可以提供連接和字符串以及任何類型的元數據,無論是設置還是你自己。獲取此元數據並通過代碼設置您的配置,完成。這是實現零配置的關鍵。 – Landern 2012-08-10 12:24:03