Load-Balancing
如何對不基於 IIS 的 Windows 服務進行負載平衡?
我正在使用 Microsoft Dynamics NAV 2009 的角色定制客戶端 (RTC),它利用 3 層架構。Microsoft 稱為服務層的中間層是作為 Windows 服務執行的非集群感知應用程序。我通過另一個問題確定我應該使用執行 NAV 服務層的虛擬機來執行集群管理程序。
不幸的是,NAV 服務層的建議最大使用者容量為 50-60 個使用者。有超過 100 個並髮使用者,我需要一些機制來“負載平衡”所有會話,而不必訪問每個使用者的工作站並將其“硬編碼”到特定伺服器。會話需要保持粘性,因為初始請求之後的每個請求都需要路由到同一台伺服器。
如何對不基於 IIS 且滿足我概述的要求的 Windows 服務進行負載平衡?
我認為Windows 網路負載平衡(NLB) 會為您工作 - 它使用多播來允許通過相同的 IP 地址訪問多個伺服器。伺服器在它們自己之間決定由哪一個來處理請求。它可以配置為粘性(會話親和性)。但是請注意,它僅在伺服器啟動或關閉方面提供冗餘 - 它無法確定集群中的哪個伺服器負載較少。
大多數文件都會討論 IIS 和 NLB,但它適用於 RDP 和其他應用程序。在高負載情況下,我在 Dell PowerConnect 交換機上使用它時遇到了一些問題,並且傾向於採用更重量級的負載平衡解決方案,但我認為就您的目的而言,這是最好的起點。它在 Windows Server 中是免費的。