負載均衡的原則:負載均衡根據一定的規則將每個IP包分配給服務器節點。不同的負載平衡實現有不同的分布規則。負載平衡系統對客戶端是透明的。使用網絡負載平衡技術的服務響應單個客戶端請求的速度比單個主機更快,但是大量客戶端的密集請求在速度和質量上有很大優勢。并且當主機出現故障或離線時,不會影響服務的提供,從而帶來高可用性。
1、利用操作系統的集群功能實現負載均衡
負載均衡要求:要求使用支持集群功能的操作系統,如windows 2000server以上的服務器版本、Unix或Linux。本文以windows2003服務器為例,介紹了集群功能的配置。
負載均衡的設計和配置過程:集群的實現需要集群內部的通信以及管理和內容復制的數據傳輸。這部分通信占用了網絡的可用帶寬。為了克服單網卡的局限性,一般采用雙網卡,一個用于負載客戶端的通信,另一個用于傳輸內部通信、管理和內容數據。
集群運行模式的選擇是設計的重要一步。單播模式意味著為每個節點的網絡適配器重新分配一個虛擬MAC(由02-bf和集群IP地址組成,以確保該MAC的唯一性)。在多播模式下,網絡適配器分配一個由所有節點共享的多播媒體訪問控制地址,同時保持原始媒體訪問控制地址不變。一般選擇組播模式。
端口規則是windows2003的新功能。NLB提供了三種過濾模式,可以采用禁止、多主機負載均衡和單主機對端口規則的特殊處理。其中多主機篩選模式提供了真正的負載均衡,負載可以根據節點的實際處理能力進行分配。
Windows2003引入了網絡負載均衡管理器(控制面板->管理工具),使得負載均衡的安裝和配置更加容易。該管理器可以輕松建立和刪除集群,添加、刪除和修改節點,并檢測故障。運行網絡負載均衡管理器,選擇集群->新建,彈出“集群參數”對話框,根據需要按照向導進行配置。
首先配置參數后,單擊下一步,系統將提示您添加其他群集IP。如果不需要,可以直接按下一步配置端口。以web集群配置為例:如果集群上沒有保存會話狀態,則相似度選擇為無,否則選擇單個或C類。之后,指定一個主機連接,選擇一個可用的網絡接口,設置主機參數:點擊完成,管理器會自動連接到主機進行相關配置,創建一個新的集群。
優缺點:在選擇多主機篩選模式時,提供了真正的負載均衡,可以根據節點的實際處理能力來分配負載。更適合大型網站的負載均衡。然而,在使用UNIX和Windows 2003 Server系統時,網絡架構的成本很高。
2、利用網絡設備的動態網絡地址轉換(NAT)功能實現負載均衡
負載均衡的要求:具有動態NAT功能的路由器,多臺服務器運行同一服務,所有服務器必須在同一個局域網中。
負載均衡的設計和配置過程:內部多臺服務器都有自己的私有IP,提供相同的服務,但外部通過NAT映射成為統一的公有IP地址。在外部,多個服務器是捆綁在一起的虛擬服務器。當外部訪問此虛擬服務器時,它們依次指向每臺服務器,以實現負載平衡。
優缺點:配置簡單,成本低,服務器本地維護容易,負載均衡算法由路由器提供,無需占用服務器系統資源。但一般只能支持輪換服務的算法,不能根據服務器性能合理分配負載。
3、域名系統負載平衡的實現
負載平衡要求:需要DNS服務器支持。一般支持bind8.2以上的類unix系統,并安裝了循環DNS軟件。
負載均衡的設計和配置過程:在DNS中將多個地址配置為同一個名稱,這樣查詢這個名稱的客戶端就會得到其中一個地址,這樣不同的客戶端就可以訪問不同的服務器,達到負載均衡的目的。配置過程在不同的DNS系統中有不同的配置方式,本文不再贅述。
優缺點:服務器可以分布在不同的區域,有利于故障轉移。負載均衡算法運行在DNS服務器上,不占用服務器資源。但是,域名服務器無法知道服務節點是否有效。如果服務節點出現故障,域名系統仍會將域名解析到該節點,導致用戶訪問無效。此外,它不能區分服務器性能的差異,也不能反映服務器當前的運行狀態。所以在動態平衡方面,動態DNS輪詢的效果并不理想。有不懂的請咨詢夢飛科技了解。