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

網絡負載均衡

鎖定
網絡負載均衡是由多台服務器以對稱的方式組成一個服務器集合,每台服務器都具有等價的地位,都可以單獨對外提供服務而無須其他服務器的輔助。通過某種負載分擔技術,將外部發送來的請求均勻分配到對稱結構中的某一台服務器上,而接收到請求的服務器獨立地迴應客户的請求。均衡負載能夠平均分配客户請求到服務器列陣,藉此提供快速獲取重要數據,解決大量併發訪問服務問題。 [1] 
中文名
網絡負載均衡
外文名
Network load balancing
用    途
解決大量併發訪問服務問題

網絡負載均衡簡介

負載均衡原理圖 負載均衡原理圖
網絡負載均衡( Load balance)主要用於擴展網絡設備和服務器的帶寬、增加吞吐量、加強網絡數據處理能力、提高網絡的靈活性和可用性,保證即使是在負載很重的情況下它們也能作出快速響應,保證服務不中斷。網絡負載均衡可以讓客户端用一個邏輯 Internet名稱和虛擬IP地址(又稱羣集IP地址)訪問羣集,同時保留每台計算機各自的名稱。 [2] 
(1)DNS負載均衡。在DNS中為多個地址配置同一個名字,查詢這個名字的客户機將得到其中一個地址,從而使得不同的客户訪問不同的服務器,達到負載均衡的目的。 [2] 
(2)代理服務器。代理服務器將請求均勻轉發給多台服務器,從而達到負載均衡的目的。 [2] 
(3)負載均衡器。負載均衡器採用各種分配算法把網絡請求分散到一個服務器集羣中的可用服務器上去,有些負載均衡器集成在交換設備中,置於服務器與Internet鏈接之間,有些則以兩塊網絡適配器將負載均衡功能集成到PC中,一塊連接到 Internet上,一塊連接到後端服務器羣的內部網絡上。當Web服務器為圖像服務、安全套接層(SSL)會話或數據庫事務而進行優化時,負載均衡器可以發揮特別功效。 [2] 

網絡負載均衡作用

負載均衡是一種策略,通過重新分配系統負載,使各服務器間負載達到相對均衡,從而降低任務的響應時間,提高系統資源的利用率,使系統的性能得以提高。它主要決的問題主要有:
1)解決網絡擁塞問題,服務就近提供,實現地理位置無關性;
2)為用户提供更好的訪問質量;
3)提高服務器響應速度;
4)提高服務器及其他資源的利用效率。 [3] 

網絡負載均衡要求

網絡負載均衡(NLB)存在着硬件和軟件兩方面的需求。就硬件而言,它需要1M的內存空間、缺省設置下4M或者管理設置下最多15M的內存空間。因此,在假定管理要求擁有此類內存,同時又處理着繁重的通信量,從而需要使用32個節點或類似設置的情況下,你最多能夠使用15M的內存空間。在典型情況下,NLBS -般使用約4M的內存空間。NLBS只支持以太網或FDDI(光纖分佈式數字接口)。 [4] 
對於軟件來説,NLBS需要網絡操作系統的支持,如果你想要實現高度可用的和可擴展的解決方案,你需要使用上述2種系統平台,並且TCP/IP也一併安裝,因為TCP/IP是NLBS在不同的羣集或羣集節點間實現負載平衡的主要協議。對於應用程序提出的另一個要求是,任一應用程序的多個實例必須能夠運行於所有的羣集節點之間。 [4] 

網絡負載均衡優點

第一,網絡負載均衡能將傳入的請求傳播到多達32台服務器上,即可以使用最多32台服務器共同分擔對外的網絡請求服務。網絡負載均衡技術保證即使是在負載很重的情況下,服務器也能做出快速響應; [5] 
第二,網絡負載均衡對外只需提供一個IP地址(或域名); [5] 
第三,當網絡負載均衡中的一台或幾台服務器不可用時,服務不會中斷。網絡負載均衡自動檢測到服務器不可用時,能夠迅速在剩餘的服務器中重新指派客户機通訊。這項保護措施能夠幫助你為關鍵的業務程序提供不中斷的服務,並可以根據網絡訪問量的增加來相應地增加網絡負載均衡服務器的數量; [5] 
第四,網絡負載均衡可在普通的計算機上實現。 [5] 

網絡負載均衡負載均衡策略

負載均衡( Load Balance)建立在現有網絡結構之上,它提供了一種廉價、有效、透明的方法擴展網絡設備和服務器的帶寬、增加吞吐量、加強網絡數據處理能力、提高網絡的靈活性和可用性。負載均衡有兩方面的含義:首先,大量的併發訪問或數據流分擔到多台節點設備上分別進行處理,減少用户響應等待時間;其次,單個重負載的運算分擔到多台節點設備上做並行處理,每個節點處理結束後,將結果彙總,返回給用户,使系統處理能力得到大幅度提高。 [6] 
在實際應用中,可能不僅僅是把客户端的服務請求平均地分配給內部服務器,而不管服務器是否怠機,而是想使配置好的服務器能接受相對更多的服務請求,一台處理服務請求較少的服務器能分配到更多的服務請求,出現故障的服務器將不再接受服務請求直至故障恢復等等。 [6] 
選擇合適的負載均衡策略,使多個設備能很好地共同完成任務,消除或避免現有網絡負載分佈不均、數據流量擁擠反應時間長的瓶頸。在各負載均衡方式中,針對不同的應用需求,在OSI參考模型的第二、三、四、七層的負載均衡都有相應的負載均衡策略。 [6] 
負載均衡策略的優劣及其實現的難易程度有兩個關鍵因素:
第一,負載均衡算法;第二,對網絡系統狀況的檢測方式和能力。考慮到服務請求的不同類型、服務器的不同處理能力以及隨機選擇造成的負載分配不均勻等問題,為了更加合理地把負載分配給內部的多個服務器,就需要應用相應的能夠正確反映各個服務器處理能力及網絡狀態的負載均衡算法: [6] 
①輪詢均衡( Round Robin):每一次來自網絡的請求輪流分配給內部服務器。從1至N然後重新開始。此種均衡算法適合於服務器組中的所有服務器都有相同的軟、硬件配置並且平均服務請求量相對均衡的情況。 [6] 
②權重輪詢均衡(Weighted Round Robin):根據服務器的不同處理能力,給每個服務器分配不同的權值,使其能夠接受相應權值數的服務請求。倒如:服務器A的權值被設計成1,B的權值是3,C的權值是6,則服務器A、B、C將分別接受到10%、30%、60%的服務請求,此種均衡算法能確保高性能的服務器得到更多的使用率,避免低性能的服務器負載過重。 [6] 
③隨機均衡( Random):把來自網絡的請求隨機分配給內部多個服務器。 [6] 
④權重隨機均衡(Weighted Random):此種均衡算法類似於權重輪詢算法,不過在處理請求分擔時是個隨機選擇的過程。 [6] 
⑤響應速度均衡( Response Time):負載均衡設備對內部各服務器發出一個探測請求(例如Ping)。然後根據內部各服務器對探測請求的最快響應時間來決定哪一台服務器來響應客户端的服務請求。此種均衡算法能較好地反映服務器的當前運行狀態。.但這最快響應時間僅僅指的是負載均衡設備與服務器間的最快響應時間,而不是客户端與服務器間的最快響應時間。 [6] 
⑥最少連接數均衡:客户端的每一次請求服務在服務器停留的時間可能會有較大的差異,隨着工作時間加長,如果採用簡單的輪詢或隨機均衡算法,每一台服務器上的連接進程可能會產生極大的不同,並沒有達到真正的負載均衡。最少連接數均衡算法對內部需負載的每一台服務器都有一個數據記錄,記錄當前該服務器正在處理的連接數量,當有新的服務連接請求時,將把當前請求分配給連接數最少的服務器,使均衡更加符合實際隋況,負載更加均衡。此種均衡算法適合長時處理的請求服務,如FIP。 [6] 
⑦處理能力均衡:此種均衡算法將把服務請求分配給內部處理負荷(根據服務器CPU型號、CPU數量、內存大小及當前連接數等換算)最輕的服務器,由於考慮到了內部服務器的處理能力及當前網絡運行狀況,所以此種均衡算法相對來説更加精確,尤其適合運用到第七層(應用層)負載均衡的情況下。 [6] 

網絡負載均衡相關技術

網絡負載均衡軟件負載

服務器負載均衡( SLB) 是目前最常用的,它是通過將一台服務器虛擬化,表示成一組服務器,即一個服務器羣,用來平衡各個服務器的信息量,控制對某一台服務器的訪問量。代表這組服務器的那一台服務器被稱為虛擬服務器,而組內的服務器被稱為真實服務器。負載均衡技術就是將相同功能的真實服務器組成一個羣,如果系統要進行擴容,我們只需修改交換機中的地址信息,並不影響服務的提供。集羣中有幾台服務器,對用户來説是透明的,用户只需瞭解虛擬服務器的功能,訪問時只需連接虛擬服務器的IP 地址,負載均衡技術會為用户挑選適當的真實服務器進行連接,而用户對此毫不知情。 [7] 
web服務器鏡像技術是指採用一套性能相同的web服務器,採用內容相同的數據庫,為不同的域名分配了不同的IP 地址,將用户請求利用Http協議的重定向功能,當其中一台服務器訪問量過大時,web服務器軟件自動把用户的請求重新定向到不同的鏡像站點,用這種方式來實現負載均衡。 [7] 

網絡負載均衡DNS負載

DNS負載均衡技術是最早提出的用來解決負載平衡的技術,它的實現方式是通過DNS 服務中的名稱隨機的來解析,進而實現負載平衡。即同一個名字可以用於多個不相同的地址,當用户查詢這個名字時,隨機得到其中的一個地址。因此,不同的用户在查閲這個名字時將得到不同的地址,進一步訪問不同地址的服務器,來達到負載均衡的目的。 [7] 
這種方法簡單易行,而且服務器的物理位置不固定,互聯網上的任意一台服務器都可以實現這個功能。但是DNS 負載均衡的缺點是無法判斷服務器的性能,也無法得知當前服務器的運行狀態,這就導致性能優良的服務器得不到高效利用,不能處理更多的用户需求,有時也會出現大量的用户需求集中在了其中某一台服務器上,並不能實現真正意義上的負載平衡; 而且DNS的數據刷新時間的設置有標準,間隔較小,這個特徵保證了數據的及時更新,但同時也造成了網絡流量的浪費。並不適用於在線學習這樣一個多用户多訪問量的平台。 [7] 

網絡負載均衡四層負載

第四層交換功能的實現,也就是我們經常提到的虛擬IP 地址( VIP) 方法,這個地址並不是與特定的計算機相連,也沒有與計算機中的網絡接口卡相連。它的實現過程是當數據包發送到這個VIP 地址時,通過第四層交換功能,並根據設定算法分配到一個真實的網絡接口。每次TCP 請求都可以動態分配其中的一個IP 地址,從而達到負載均衡。 [7] 

網絡負載均衡七層負載

第七層是web 內容交換技術,即對訪問流量的高層控制方式,通過對應用層內容的切換,將這種真正有意義的信息,結合我們對負載均衡設備的特定設置,進行服務器的選擇。 [7] 
考慮到為了不造成訪問流量的停滯,第七層交換技術更具優勢。在接收到數據包時,它會檢查Http報頭,根據報頭內的數據來決定將信息發送給哪台服務器,同時根據報頭提供的信息判斷用何種方式為個人信息或者圖像視頻等不同格式的內容提供服務。換句話説,Http請求URL,但通過web 內容交換技術,Http有可能請求到不同的
服務器,即同一個URL請求對應了多個服務器,因為在Http發出請求時,並非建立了一個會話,而是通過負載均衡服務器建立了多個會話與真實的服務器連接。 [7] 

網絡負載均衡應用

網絡負載均衡(Load Balance)主要用於擴展網絡設備和服務器的帶寬、增加吞吐量、加強網絡數據處理能力、提高網絡的靈活性和可用性,保證即使是在負載很重的情況下它們也能作出快速響應,保證服務不中斷。 [2] 
網絡負載均衡可以讓客户端用一個邏輯Internet名稱和虛擬IP地址(又稱羣集IP地址)訪問羣集,同時保留每台計算機各自的名稱。 [2] 
(1)DNS負載均衡。在DNS中為多個地址配置同一個名字,查詢這個名字的客户機將得到其中一個地址,從而使得不同的客户訪問不同的服務器,達到負載均衡的目的。 [2] 
(2)代理服務器。代理服務器將請求均勻轉發給多台服務器,從而達到負載均衡的目的。 [2] 
(3)負載均衡器。負載均衡器採用各種分配算法把網絡請求分散到一個服務器集羣中的可用服務器上去,有些負載均衡器集成在交換設備中,置於服務器與Internet鏈接之間,有些則以兩塊網絡適配器將負載均衡功能集成到PC中,一塊連接到Internet上,一塊連接到後端服務器羣的內部網絡上。當Web服務器為圖像服務、安全套接層(SSL)會話或數據庫事務而進行優化時,負載均衡器可以發揮特別功效。 [2] 
校園網的應用除了用於教學、科研、管理、圖書情報資料檢索外,還承擔任着校內外信息交流、電子郵件、公告、新聞發佈,以及各種公共網絡口的訪問等任務。由於在網絡上傳輸的信息不只是數字、文字和圖形,還會隨應用水平的提高,逐步增加語音、活動圖像及視頻圖像等高帶寬的應用。因此,網絡的建設,尤其是主幹網要求高帶寬與高速度,在校園網的服務器中應用負載均衡技術不失為一種廉價的解決方案。 [2] 
參考資料
  • 1.    蔡俊才主編;賈雲富副主編;何萬里,張文庫參編.網絡服務配置:知識產權出版社,2014.01:第167頁
  • 2.    張曉凌,耿志剛,侯方達,劉會強編著.技術轉移信息服務平台建設:知識產權出版社,2011.05:第29頁
  • 3.    俞俊生著.從雲到終端提升移動流媒體性能技術研究:電子科技大學出版社,2015.09:第50頁
  • 4.    徐民鷹,劉信聖,薛同麗,武馬羣,張曉蕾,齊京,齊亞賓,韓淑英等編著.三網合一:技術基礎:中國國際廣播出版社,2003.06:第225頁
  • 5.    希賽IT教育研發中心組編.網絡工程師考試考點分析與例題精解:西安電子科技大學出版社,2008.8:第253頁
  • 6.    陳兆學主編;鄭建立,聶生東副主編.醫學影像存檔與通訊系統:東南大學出版社,2016.08:第119頁
  • 7.    在線學習系統負載均衡的分析與實現  .知網[引用日期2019-10-20]