複製鏈接
請複製以下鏈接發送給好友

負載均衡

鎖定
負載均衡建立在現有網絡結構之上,它提供了一種廉價有效透明的方法擴展網絡設備服務器的帶寬、增加吞吐量、加強網絡數據處理能力、提高網絡的靈活性和可用性。
負載均衡(Load Balance [4]  )其意思就是分攤到多個操作單元上進行執行,例如Web服務器FTP服務器企業關鍵應用服務器和其它關鍵任務服務器等,從而共同完成工作任務。
中文名
負載均衡
外文名
Load Balance [4] 
別    名
負載分擔
釋    義
負載進行平衡

負載均衡術語含義

負載均衡,英文名稱為Load Balance,其含義就是指將負載(工作任務)進行平衡、分攤到多個操作單元上進行運行,例如FTP服務器、Web服務器、企業核心應用服務器和其它主要任務服務器等,從而協同完成工作任務。
負載均衡構建在原有網絡結構之上,它提供了一種透明且廉價有效的方法擴展服務器和網絡設備的帶寬、加強網絡數據處理能力、增加吞吐量、提高網絡的可用性和靈活性。

負載均衡分類

1、軟/硬件負載均衡
軟件負載均衡解決方案是指在一台或多台服務器相應的操作系統上安裝一個或多個附加軟件來實現負載均衡,如DNS Load Balance,CheckPoint Firewall-1 ConnectControl等,它的優點是基於特定環境,配置簡單,使用靈活,成本低廉,可以滿足一般的負載均衡需求。
軟件解決方案缺點也較多,因為每台服務器上安裝額外的軟件運行會消耗系統不定量的資源,越是功能強大的模塊,消耗得越多,所以當連接請求特別大的時候,軟件本身會成為服務器工作成敗的一個關鍵;軟件可擴展性並不是很好,受到操作系統的限制;由於操作系統本身的Bug,往往會引起安全問題。
硬件負載均衡解決方案是直接在服務器和外部網絡間安裝負載均衡設備,這種設備通常稱之為負載均衡器,由於專門的設備完成專門的任務,獨立於操作系統,整體性能得到大量提高,加上多樣化的負載均衡策略,智能化的流量管理,可達到最佳的負載均衡需求。
負載均衡器有多種多樣的形式,除了作為獨立意義上的負載均衡器外,有些負載均衡器集成在交換設備中,置於服務器與Internet鏈接之間,有些則以兩塊網絡適配器將這一功能集成到PC中,一塊連接到Internet上,一塊連接到後端服務器羣的內部網絡上。一般而言,硬件負載均衡在功能、性能上優於軟件方式,不過成本昂貴。
2、本地/全局負載均衡
負載均衡從其應用的地理結構上分為本地負載均衡(Local Load Balance)和全局負載均衡(Global Load Balance,也叫地域負載均衡),本地負載均衡針對本地範圍的服務器羣做負載均衡,全局負載均衡針對不同地理位置、不同網絡結構的服務器羣做負載均衡。
本地負載均衡不需要花費高額成本購置高性能服務器,只需利用現有設備資源,就可有效避免服務器單點故障造成數據流量的損失,通常用來解決數據流量過大、網絡負荷過重的問題。同時它擁有形式多樣的均衡策略把數據流量合理均衡的分配到各台服務器。如果需要在現在服務器上升級擴充,不需改變現有網絡結構、停止現有服務,僅需要在服務羣中簡單地添加一台新服務器。
全局負載均衡主要解決全球用户只需一個域名或IP地址就能訪問到離自己距離最近的服務器獲得最快的訪問速度,它在多區域都擁有自己的服務器站點,同時也適用於那些子公司站點分佈廣的大型公司通過企業內部網(Intranet)達到資源合理分配的需求。
全局負載均衡具備的特點:
1、提高服務器響應速度,解決網絡擁塞問題,達到高質量的網絡訪問效果。
2、能夠遠距離為用户提供完全的透明服務,真正實現與地理位置無關性
3、能夠避免各種單點失效,既包括數據中心、服務器等的單點失效,也包括專線故障引起的單點失效。 [1] 

負載均衡部署方式

負載均衡有三種部署方式:路由模式、橋接模式、服務直接返回模式。路由模式部署靈活,約60%的用户採用這種方式部署;橋接模式不改變現有的網絡架構;服務直接返回(DSR)比較適合吞吐量大特別是內容分發的網絡應用。約30%的用户採用這種模式。
1、路由模式(推薦)
路由模式的部署方式,服務器的網關必須設置成負載均衡機的LAN口地址,且與WAN口分署不同的邏輯網絡。因此所有返回的流量也都經過負載均衡。這種方式對網絡的改動小,能均衡任何下行流量。
2、橋接模式
橋接模式配置簡單,不改變現有網絡。負載均衡的WAN口和LAN口分別連接上行設備和下行服務器。LAN口不需要配置IP(WAN口與LAN口是橋連接),所有的服務器與負載均衡均在同一邏輯網絡中。
由於這種安裝方式容錯性差,網絡架構缺乏彈性,對廣播風暴及其他生成樹協議循環相關聯的錯誤敏感,因此一般不推薦這種安裝架構。
3、服務直接返回模式
這種安裝方式負載均衡的LAN口不使用,WAN口與服務器在同一個網絡中,互聯網的客户端訪問負載均衡的虛IP(VIP),虛IP對應負載均衡機的WAN口,負載均衡根據策略將流量分發到服務器上,服務器直接響應客户端的請求。因此對於客户端而言,響應他的IP不是負載均衡機的虛IP(VIP),而是服務器自身的IP地址。也就是説返回的流量是不經過負載均衡的。因此這種方式適用大流量高帶寬要求的服務。

負載均衡負載均衡算法

負載均衡分類介紹

現有的負載均衡算法主要分為靜態和動態兩類。靜態負載均衡算法以固定的概率分配任務,不考慮服務器的狀態信息,如輪轉算法、加權輪轉算法等;動態負載均衡算法以服務器的實時負載狀態信息來決定任務的分配,如最小連接法、加權最小連接法等。 [2] 

負載均衡分類

1、輪詢法
輪詢法,就是將用户的請求輪流分配給服務器,就像是挨個數數,輪流分配。這種算法比較簡單,他具有絕對均衡的優點,但是也正是因為絕對均衡它必須付出很大的代價,例如它無法保證分配任務的合理性,無法根據服務器承受能力來分配任務。
2、隨機法
隨機法,是隨機選擇一台服務器來分配任務。它保證了請求的分散性達到了均衡的目的。同時它是沒有狀態的不需要維持上次的選擇狀態和均衡因子[5]。但是隨着任務量的增大,它的效果趨向輪詢後也會具有輪詢算法的部分缺點。
3、最小連接法
最小連接法,將任務分配給此時具有最小連接數的節點,因此它是動態負載均衡算法。一個節點收到一個任務後連接數就會加1,當節點故障時就將節點權值設置為0,不再給節點分配任務。
最小連接法適用於各個節點處理的性能相似時。任務分發單元會將任務平滑分配給服務器。但當服務器性能差距較大時,就無法達到預期的效果。因為此時連接數並不能準確表明處理能力,連接數小而自身性能很差的服務器可能不及連接數大而自身性能極好的服務器。所以在這個時候就會導致任務無法準確的分配到剩餘處理能力強的機器上。 [2] 

負載均衡均衡技術

常見的軟件負載均衡技術有以下幾種:
1、基於DNS的負載均衡
常見的軟件負載均衡技術 常見的軟件負載均衡技術
由於在DNS服務器中,可以為多個不同的地址配置相同的名字,最終查詢這個名字的客户機將在解析這個名字時得到其中一個地址,所以這種代理方式是通過DNS服務中的隨機名字解析域名和IP來實現負載均衡。
2、反向代理負載均衡(如Apache+JK2+Tomcat這種組合)
該種代理方式與普通的代理方式不同,標準代理方式是客户使用代理訪問多個外部Web服務器,之所以被稱為反向代理模式是因為這種代理方式是多個客户使用它訪問內部Web服務器,而非訪問外部服務器。
3、基於NAT(Network Address Translation)的負載均衡技術(如Linux VirtualServer,簡稱LVS)
該技術通過一個地址轉換網關將每個外部連接均勻轉換為不同的內部服務器地址,因此外部網絡中的計算機就各自與自己轉換得到的地址上的服務器進行通信,從而達到負載均衡的目的。其中網絡地址轉換網關位於外部地址和內部地址之間,不僅可以實現當外部客户機訪問轉換網關的某一外部地址時可以轉發到某一映射的內部的地址上,還可使內部地址的計算機能訪問外部網絡。 [1] 

負載均衡主要應用

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、混合型負載均衡在有些大型網絡,由於多個服務器羣內硬件設備、各自的規模、提供的服務等的差異,可以考慮給每個服務器羣採用最合適的負載均衡方式,然後又在這多個服務器羣間再一次負載均衡或羣集起來以一個整體向外界提供服務(即把這多個服務器羣當做一個新的服務器羣),從而達到最佳的性能。將這種方式稱之為混合型負載均衡。此種方式有時也用於單台均衡設備的性能不能滿足大量連接請求的情況下。 [3] 
參考資料
  • 1.    劉維.負載均衡技術在電子商務網站中的應用研究[D].湖南:湖南大學,2018.
  • 2.    俞樓濤.幾種常見的負載均衡算法的優化[J].電子製作,2017,(20):45-46.
  • 3.    劉立斌.基於負載均衡技術的研究及展望[J].市場週刊,2017,(10):140-142.
  • 4.    廖顯東編. Go語言高級開發與實戰[M]. 北京:機械工業出版社, 2022.01.269