2010-04-24 139 views
2

我們計劃在Biztalk 2009中設置2臺Biztalk應用服務器和2臺數據庫服務器(DB服務器位於主動/被動羣集中)。所有服務器都運行Windows Server 2008 R2。Biztalk Server 2009 - 故障轉移羣集和網絡負載平衡(NLB)

作爲我們應用程序的一部分,我們將通過MSMQ,FILE和SOAP適配器傳入流量。我們也需要高可用性和負載平衡。

假設我創建了兩個不同的Biztalk主機,並將FILE接收處理程序分配給第一個,將MSMQ接收處理程序分配給第二個。我現在爲每個主機創建兩個主機實例(即,爲我的兩臺物理服務器分別創建一個主機實例)。

審查在BizTalk文檔之後,這是我目前所知:

  • 文件(接收),高可用性和負載均衡將Biztalk的自動,因爲我設置了一個主機來實現實例在組中的每個服務器上。

  • MSMQ(接收)需要Biztalk主機羣集以確保高可用性(但主機羣集還需要設置Windows故障轉移羣集)。這裏沒有明確的加載平衡選項。

  • SOAP(接收)需要NLB才能實現負載平衡和高可用性(如果一臺服務器出現故障,NLB會將流量導向另一臺服務器)。

這是我完全摸不着頭腦,我迫切需要你的幫助:

  • 是否有可能有一個Windows故障轉移羣集和NLB設置在同一時間在兩個應用服務器?
    • 如果是,那麼請告訴我如何。
    • 如果不是,那麼請向我解釋當任何人的基本先決條件是相互排斥時,如何爲MSMQ和SOAP實現高可用性和負載平衡!


你的幫助是極大的讚賞,
中號

回答

3

微軟不支持NLB和MSCS在相同的服務器上運行

「這兩個組件的協同工作以及兩層或三層應用程序模型運行在不同的計算機上請注意,在同一臺計算機上運行這兩個組件是不受支持的,並且由於潛在的硬件共享衝突en羣集服務和網絡負載平衡「。 http://support.microsoft.com/kb/235305

如果您希望爲BizTalk中接收到的SOAP請求提供HA,則應該將BizTalk服務器配置爲在同一BizTalk Group中處於主動/主動配置(無MSCS)。一旦你這樣做,你在這兩者之間安裝一個配置NLB。您的客戶將能夠通過NLB羣集查詢Web服務,NLB服務會將請求路由到羣集內的特定服務器(您的asmx文件應該在兩臺服務器上安裝和配置)。

關於MSMQ,您迄今獲得的信息是正確的,確保此適配器HA的唯一方法是對BizTalk服務器進行集羣。如果你也想實現這個,那麼你必須爲SOAP接收主機和MSMQ分配一個單獨的基礎結構。

此情形的主要原因是BizTalk隔離主機不能識別羣集,因此BizTalk InProcess主機可能全部掛起,隔離主機永遠不會知道它並且會繼續接收請求。

我目前正在設計一個架構非常相似的,所以,如果你想分享更多的意見或問題,你可以在[email protected]

伊格納西奧Quijas 微軟的BizTalk Server專家

+0

快速記我聯繫。如果您需要NLB,則不需要依賴Windows NLB。您可以設置一個網絡設備來負載平衡SOAP/HTTP接收端口。通過這種方式,您可以使用羣集爲您的服務提供HA。另外,如果您有雙服務器/雙主機實例情況,則必須對某些適配器進行羣集。如果您在兩個不同的主機實例上運行FTP接收,您將獲得該文件的兩個副本。祝你好運! – 2010-04-29 02:04:53

+0

謝謝克里斯。硬件負載平衡方案實際上非常吸引人,因爲客戶不太可能投資於單獨的SOAP和MSMQ基礎架構。感謝您的輸入。 – FullOfQuestions 2010-04-29 15:10:52