簡談Windows負載均衡的特點
在接觸負載均衡的時候,筆者先是在網絡上進行負載均衡的搜索,弄清楚了到底什么是負載均衡,之后就發現,支持負載均衡的系統有很多。常用的是Windows,Linux這兩大系統。那么網上的教程最多的也是關于LVS和win2003的配置操作。那么現在筆者,在此為大家主要介紹一下Windows負載均衡的特點。
通過使用由兩臺或多臺計算機一起組成的集群,網絡負載均衡使得Web服務器的可用性提高,可擴展性改善。Internet客戶使用單一IP地址(或多宿主主機采用一套地址)訪問集群。網絡負載均衡集群與運行單一服務器程序的單一主機有明顯區別,集群中某主機發生故障時,集群系統保證提供不間斷的服務。集群還可以比單一主機更迅速地響應客戶請求(對于負載均衡的端口)。
Windows集群系統的負載均衡功能分別設置在集群中每個節點服務器上,不是集中在一個獨立的功能模塊上,所以也稱為網絡負載均衡。Win 2000 Advanced Server提供的網絡負載均衡服務,可虛擬出一個MAC地址,該MAC地址與集群各節點的MAC地址無關,且為集群中的各主機共用。同時,網絡負載均衡服務將指定的集群主IP地址指派給該MAC地址。所有的客戶端請求都發往集群主IP地址,傳入該主IP地址的客戶請求將被集群中的所有節點接收,網絡負載均衡在傳入指定TCP和UDP端口的數據報到達TCP/IP協議軟件之前對其進行篩選,根據在“端口規則"中配置的值將客戶請求在集群中進行分配,只有被分配為處理該客戶請求的節點才處理它,其余的節點則丟棄該請求。
每臺服務器都運行需要的服務器程序(如Web、FTP、Telnet或電子郵件服務器程序)的一個獨立副本。對有些服務(如Web服務器上使用的服務),程序的副本在集群內的所有主機上運行,Windows負載均衡在這些服務器之間分配工作量。對于其它服務(如電子郵件),只有一臺主機處理工作量。對于這些服務,網絡負載均衡讓網絡通信流向一臺主機,只有在服務器發生故障時才將通信移到另一臺主機上。
網絡負載均衡能提供高可用性,當有一臺主機發生故障或脫機時,網絡負載均衡可將傳入的網絡通信重新定向到工作正常的集群主機。即使與脫機的主機的連接斷開,也能提供Internet服務。在大多數情況下(例如,Web服務器),客戶軟件在連接失敗時自動重試,客戶在接收響應時只感到有幾秒鐘的延遲。
Windows負載均衡可提供擴展性能,將傳入的網絡通信在分配給集群的一個或多個虛擬IP地址之間分布。集群中的多臺主機隨后同時響應不同的客戶請求,甚至響應來自同一客戶的多個請求。例如Web瀏覽器可以從集群中的不同主機獲取一個Web頁面中的幾個圖像。這樣就會加快處理速度,縮短對客戶的響應時間。
Windows負載均衡能使一個子網上的所有集群主機同時檢測傳送到集群的主IP地址(及多宿主主機的其它IP地址)的網絡通信。在每臺集群主機上,網絡負載均衡驅動程序作為集群適配器驅動程序和TCP/IP堆棧之間的篩選器,允許主機分幾部分接收傳入的網絡通信。
網絡負載均衡使用完全分布式的算法,根據集群主機的IP地址、端口和其它信息將傳入的客戶按照統計規律與各集群主機相對應。在檢查到達的數據包時,所有的主機都同時執行這種對應來迅速確定哪臺主機應該處理該數據包。除非集群主機的數量發生變化,否則這種對應關系就會保持不變。
Windows負載均衡篩選算法在數據包處理中比集中負載平衡程序效率高得多,因為后者必須修改并重新傳輸數據包。這樣網絡負載平衡就能夠提供更高的集合帶寬。通過直接在集群主機上運行,網絡負載平衡的性能不會受到某一代的處理器或網絡技術的限制。