負載平衡的 IIS。我應該使用 NLB,還是基於 linux 的反向代理,還是其他什麼?
對至少 2-3 個執行大量 .NET 應用程序的 Windows 2008 R2 IIS 網路伺服器進行負載平衡的最佳方法是什麼?我的選擇似乎是:
基於硬體的網路設備負載平衡器,如 Cisco CSS
Windows NLB
某種基於 linux 的代理,haproxy 或其他
這三台伺服器作為虛擬機位於 vSphere 場中,因此我能夠在高負載時進行複製以增加實例數量。我控制 vSphere 主機插入的交換機(Cisco 3750),但不控制超出客戶端的交換/路由基礎架構。
(1) 太貴了,可能對我的需求來說有點過分了。我已經包含了這個,以防有人在我現有的網路工具包上找到一種狡猾的方法來做到這一點,我對此表示懷疑。
(2) 似乎是明顯的“內置”選項,但似乎在處理網路介面、多播和其他看似不必要的複雜的東西時非常繁瑣。它也相當愚蠢,因為如果主機開始拋出 500 錯誤或其他錯誤,它就無法從池中刪除主機
(3) 是最有趣的選項,因為它似乎提供了最大的靈活性和可定制性,但不必亂搞網路。然而,雖然我熟悉 lighttpd 等的反向代理功能,但我對 HAProxy 等其他選項的了解並不多,它可能能夠提供更多。
你會選擇哪一個,有什麼我沒有想到的嗎?
在 Stackoverflow,我們使用 HAProxy 來平衡我們的 Windows Server 2008 R2 IIS 7 Web 伺服器,取得了巨大的成功。我們喜歡 HAProxy,並且發現它非常靈活。
你說的是多少流量?Citrix 提供免費版本的 Netscaler 負載平衡器作為 ESX、Hyper-V 和 XenServer 的虛擬機。它稱為 Netscaler VPX Express,可提供高達 5Mb 的吞吐量用於負載平衡。它還包括一個 10 使用者 SSL VPN 許可證作為遠端訪問解決方案。我一直在內部使用它並取得了巨大的成功。
這是 Citrix 最近的一篇部落格文章,討論了最近免費 VM 從 1Mb 到 5Mb 的提升:http: //community.citrix.com/display/ocb/2011/02/28/NetScaler+VPX+Express+Sets+Your +網路+(偶數)+免費(-er+than+之前!)