2010-08-27 30 views
2

做研究時,在SOA(面向服務架構)的主要問題似乎希望將分佈在多個主機上的服務負載,然後管理這些主機(起飛線的主機或添加新主機)SOA的負載均衡的域名服務器

當一個服務與另一個服務對話時,它不需要知道任何主機信息(在應用程序級別)。相反,SOA環境應該能夠根據主機當前的負載特性(因此它必須知道服務正在運行的所有熱點及其相對負載)將服務請求路由到特定主機。

是否有任何現有的服務開放協議報告其存在並加載到SOA環境。

回答

0

閱讀了很多後,我實際上正在尋找的概念是Enterprise Service Bus ESP

儘管它沒有明確定義顯式協議,但它定義了一種架構風格,它允許解決上述問題。

4

SOA是一套高級軟件體系結構指南。這不是技術標準或建議,它與技術實現細節無關,如負載平衡。

負載均衡基於尋址,這取決於服務訪問技術。 以「SOA方式」構建的系統可能使用不同的服務訪問技術,如SOAP(通過HTTP,JMS等),REST,JMS上的異步XML消息等。

使用SOAP,服務使用者可能查找一個UDDI註冊中心來找到服務提供者。一些最新的UDDI註冊表軟件提供了簡單的(例如循環)負載平衡。 另一個SOAP想法是使用WS-Addressing,但它並非真正用於負載均衡。

我認爲當前負載平衡的最佳位置是底層網絡傳輸層。通過HTTP傳輸,您可以選擇硬件或軟件(例如Apache HTTPD模塊)負載均衡器,以便根據響應時間和超時情況調整分配。通過JMS傳輸,最流行的JMS服務器提供某種形式的負載平衡。其他協議(如CORBA或Rendezvous)通常需要定製解決方案。

您也可以使用ESB軟件,例如, Oracle服務總線或TIBCO AMX服務總線。使用ESB,您可以輕鬆地爲您的服務實例創建負載平衡代理。代理可能會增強一些邏輯,如查找數據庫表以獲得指導。

正如您所看到的,沒有適用於服務負載均衡的萬能解決方案。最佳解決方案將基於實際的實施架構和供應商的建議。

+0

這位羽絨服的選民請給出一個理由嗎?我真的很感興趣! – 2010-08-28 08:41:43

+0

這不是我。但我認爲很容易看出你沒有回答這個問題。您的答案中沒有添加任何知道SOA標籤意味着什麼的人(但它確實爲開發人員提供了非常全面的通用信息)。我已經知道我正在尋找免費替代品的領域中的專有解決方案。 – 2010-08-30 05:43:40