負載均衡 (Load Balancing) 建立在現有網絡結構之上,它提供了一種廉價有效透明的方法擴展網絡設備和服務器的帶寬、增加吞吐量、加強網絡數據處理能力、提高網絡的靈活性和可用性。
負載均衡(又稱為負載分擔),英文名稱為Load Balance,其意思就是將負載(工作任務)進行平衡、分攤到多個操作單元上進行執行,例如Web服務器、FTP服務器、企業關鍵應用服務器和其它關鍵任務服務器等,從而共同完成工作任務。
需要說明的是:負載均衡設備不是基礎網絡設備,而是一種性能優化設備。對於網絡應用而言,並不是一開始就需要負載均衡,當網絡應用的訪問量不斷增長,單個處理單元無法滿足負載需求時,網絡應用流量將要出現瓶頸時,負載均衡才會起到作用。
負載均衡有兩方面的含義:首先,單個重負載的運算分擔到多台節點設備上做並行處理,每個節點設備處理結束后,將結果匯總,返回給用戶,系統處理能力得到大幅度提高,這就是常說的集群(clustering)技術。第二層含義就是:大量的並發訪問或數據流量分擔到多台節點設備上分別處理,減少用戶等待響應的時間,這主要針對Web服務器、FTP服務器、企業關鍵應用服務器等網絡應用。通常,負載均衡會根據網絡的不同層次(網絡七層)來划分。其中,第二層的負載均衡指將多條物理鏈路當作一條單一的聚合邏輯鏈路使用,這就是鏈路聚合(Trunking)技術,它不是一種獨立的設備,而是交換機等網絡設備的常用技術。現代負載均衡技術通常操作於網絡的第四層或第七層,這是針對網絡應用的負載均衡技術,它完全脫離於交換機、服務器而成為獨立的技術設備。這也是將要討論的對象。近幾年來,四到七層網絡負載均衡首先在電信、移動、銀行、大型網站等單位進行了應用,因為其網絡流量瓶頸的現象最突出。這也就是為何每通一次電話,就會經過負載均衡設備的原因。另外,在很多企業,隨着企業關鍵網絡應用業務的發展,負載均衡的應用需求也越來越大了。
負載平衡算法:
提供多個WAN ports可作多種
負載平衡算法則,企業可依需求自行設定負載平衡規則,而網絡存取可參照所設定的規則,執行
網絡流量負載平衡導引。算法則有:
◎ 依序Round Robin
◎ 比重Weighted Round Robin
◎ 流量比例Traffic
◎ 使用者端User
◎ 應用類別Application
◎ 聯機數量Session
◎ 服務類別Service
◎ 自動分配Auto Mode
Inbound Load Balancing
內建Inbound Load Balance 功能,可讓企業透過多條
ISP線路,提供給瀏覽者更實時、快速與穩定不斷線的因特網在線服務;
Inbound負載平衡算法包括:Round Robin/ Weighted Round Robin/Auto Back Up;
軟件負載均衡解決方案是指在一台或多台
服務器相應的
操作系統上安裝一個或多個附加軟件來實現負載均衡,如DNS Load Balance,CheckPoint Firewall-1 ConnectControl等,它的優點是基於特定環境,配置簡單,使用靈活,成本低廉,可以滿足一般的負載均衡需求。
軟件解決方案缺點也較多,因為每台
服務器上安裝額外的軟件運行會消耗系統不定量的資源,越是功能強大的模塊,消耗得越多,所以當連接請求特別大的時候,軟件本身會成為服務器工作成敗的一個關鍵;軟件可擴展性並不是很好,受到
操作系統的限制;由於操作系統本身的Bug,往往會引起安全問題。
硬件負載均衡解決方案是直接在
服務器和外部網絡間安裝負載均衡設備,這種設備通常稱之為
負載均衡器,由於專門的設備完成專門的任務,獨立於
操作系統,整體性能得到大量提高,加上多樣化的負載均衡策略,智能化的流量管理,可達到最佳的負載均衡需求。
負載均衡器有多種多樣的形式,除了作為獨立意義上的負載均衡器外,有些負載均衡器集成在交換設備中,置於
服務器與Internet鏈接之間,有些則以兩塊
網絡適配器將這一功能集成到PC中,一塊連接到Internet上,一塊連接到后端服務器群的內部網絡上。
一般而言,硬件負載均衡在功能、性能上優於
軟件方式,不過成本昂貴。一般而言,硬件負載均衡在功能、性能上優於
軟件方式,不過成本昂貴。
負載均衡從其應用的地理結構上分為本地負載均衡(Local Load Balance)和全局負載均衡(Global Load Balance,也叫地域負載均衡),本地負載均衡是指對本地的
服務器群做負載均衡,全局負載均衡是指對分別放置在不同的地理位置、有不同網絡結構的服務器群間作負載均衡。
本地負載均衡能有效地解決數據流量過大、網絡負荷過重的問題,並且不需花費昂貴開支購置性能卓越的
服務器,充分利用現有設備,避免服務器單點故障造成數據流量的損失。其有靈活多樣的均衡策略把數據流量合理地分配給
服務器群內的服務器共同負擔。即使是再給現有
服務器擴充升級,也只是簡單地增加一個新的服務器到服務群中,而不需改變現有網絡結構、停止現有的服務。
全局負載均衡主要用於在一個多區域擁有自己
服務器的站點,為了使
全球用戶只以一個IP地址或域名就能訪問到離自己最近的服務器,從而獲得最快的訪問速度,也可用於子公司分散站點分布廣的大公司通過Intranet(
企業內部互聯網)來達到資源統一合理分配的目的。
全局負載均衡有以下的特點:
實現地理位置無關性,能夠遠距離為用戶提供完全的透明服務。
除了能避免
服務器、數據中心等的單點失效,也能避免由於ISP專線故障引起的單點失效。
解決
網絡擁塞問題,提高
服務器響應速度,服務就近提供,達到更好的訪問質量。
負載均衡有三種部署方式:路由模式、橋接模式、服務直接返回模式。路由模式部署靈活,約60%的用戶采用這種方式部署;橋接模式不改變現有的網絡架構;服務直接返回(DSR)比較適合吞吐量大特別是內容分發的網絡應用。約30%的用戶采用這種模式。
路由模式(推薦)
路由模式的部署方式如上圖。
服務器的網關必須設置成負載均衡機的LAN口地址,且與WAN口分署不同的
邏輯網絡。因此所有返回的流量也都經過負載均衡。這種方式對網絡的改動小,能均衡任何下行流量。
橋接模式
橋接模式配置簡單,不改變現有網絡。負載均衡的WAN口和LAN口分別連接上行設備和下行
服務器。LAN口
不需要配置IP(WAN口與LAN口是橋連接),所有的
服務器與負載均衡均在同一
邏輯網絡中。參見下圖:
由於這種安裝方式
容錯性差,網絡架構缺乏彈性,對
廣播風暴及其他
生成樹協議循環相關聯的錯誤敏感,因此一般不推薦這種安裝架構。
服務直接返回模式
服務直接返回模式
如上圖,這種安裝方式負載均衡的LAN口不使用,WAN口與
服務器在同一個網絡中,互聯網的客戶端訪問負載均衡的虛IP(VIP),虛IP對應負載均衡機的WAN口,負載均衡根據策略將流量分發到服務器上,服務器直接響應客戶端的請求。因此對於
客戶端而言,響應他的IP不是負載均衡機的虛IP(VIP),而是
服務器自身的IP地址。也就是說返回的流量是不經過負載均衡的。因此這種方式適用大流量高帶寬要求的服務。
1.
DNS負載均衡最早的
負載均衡技術是通過DNS來實現的,在DNS中為多個地址配置同一個名字,因而查詢這個名字的客戶機將得到其中一個地址,從而使得不同的客戶訪問不同的
服務器,達到負載均衡的目的。DNS負載均衡是一種簡單而有效的方法,但是它不能區分
服務器的差異,也不能反映服務器的當前運行狀態。
2.
代理服務器負載均衡 使用代理服務器,可以將請求轉發給內部的服務器,使用這種加速模式顯然可以提升靜態網頁的訪問速度。然而,也可以考慮這樣一種技術,使用
代理服務器將請求均勻轉發給多台服務器,從而達到負載均衡的目的。
3.
地址轉換網關負載均衡 支持負載均衡的地址轉換網關,可以將一個外部IP地址映射為多個內部IP地址,對每次TCP連接請求動態使用其中一個內部地址,達到負載均衡的目的。
4.
協議內部支持負載均衡除了這三種負載均衡方式之外,有的協議內部支持與負載均衡相關的功能,例如
HTTP協議中的重定向能力等,HTTP運行於TCP連接的最高層。
5.
NAT負載均衡NAT(Network Address Translation
網絡地址轉換)簡單地說就是將一個IP地址轉換為另一個IP地址,一般用於未經注冊的內部地址與合法的、已獲注冊的Internet IP地址間進行轉換。適用於解決Internet IP地址緊張、不想讓網絡外部知道內部網絡結構等的場合下。
6.
反向代理負載均衡普通代理方式是代理內部網絡用戶訪問internet上
服務器的連接請求,
客戶端必須指定
代理服務器,並將本來要直接發送到internet上服務器的連接請求發送給代理服務器處理。反向代理(Reverse Proxy)方式是指以
代理服務器來接受internet上的連接請求,然后將請求轉發給內部網絡上的服務器,並將從服務器上得到的結果返回給internet上請求連接的客戶端,此時代理服務器對外就表現為一個服務器。反向代理負載均衡技術是把將來自internet上的連接請求以反向代理的方式動態地轉發給內部網絡上的多台服務器進行處理,從而達到負載均衡的目的。
7.
混合型負載均衡在有些大型網絡,由於多個
服務器群內硬件設備、各自的規模、提供的服務等的差異,可以考慮給每個服務器群采用最合適的負載均衡方式,然后又在這多個服務器群間再一次負載均衡或群集起來以一個整體向外界提供服務(即把這多個服務器群當做一個新的服務器群),從而達到最佳的性能。將這種方式稱之為
混合型負載均衡。此種方式有時也用於單台均衡設備的性能不能滿足大量連接請求的情況下。