負載均衡原理與技術實現(xiàn)
負載均衡(Load Balance,簡稱LB)是一種服務器或網(wǎng)絡設備的集群技術。負載均衡將特定的業(yè)務(網(wǎng)絡服務、網(wǎng)絡流量等)分擔給多個服務器或網(wǎng)絡設備,從而提高了業(yè)務處理能力,保證了業(yè)務的高可用性。負載均衡基本概念有:實服務、實服務組、虛服務、調(diào)度算法、持續(xù)性等,其常用應用場景主要是服務器負載均衡,鏈路負載均衡。
一 服務器負載均衡
服務器負載均衡根據(jù)LB設備處理到的報文層次,分為四層服務器負載均衡和七層負載均衡,四層處理到IP包的IP頭,不解析報文四層以上載荷(L4 SLB);七層處理到報文載荷部分,比如HTTP,RTSP,SIP報文頭,有時也包括報文內(nèi)容部分(L7 SLB)。
1.四層服務器負載均衡技術
客戶端將請求發(fā)送給服務器群前端的負載均衡設備,負載均衡設備上的虛服務接收客戶端請求,通過調(diào)度算法,選擇真實服務器,再通過網(wǎng)絡地址轉(zhuǎn)換,用真實服務器地址重寫請求報文的目標地址后,將請求發(fā)送給選定的真實服務器;真實服務器的響應報文通過負載均衡設備時,報文的源地址被還原為虛服務的VSIP,再返回給客戶,完成整個負載調(diào)度過程。報文交互流程如下:

NAT方式的服務器負載均衡報文交互流程圖報文交互流程說明:
(1)Host發(fā)送服務請求報文,源IP為Host IP、目的IP為VSIP
(2)LB Device接收到請求報文后,借助調(diào)度算法計算出應該將請求分發(fā)給哪臺Server
(3)LB Device使用DNAT技術分發(fā)報文,源IP為Host IP、目的IP為Server IP
(4)Server接收并處理請求報文,返回響應報文,源IP為Server IP、目的IP為Host IP
(5)LB Device接收響應報文,轉(zhuǎn)換源IP后轉(zhuǎn)發(fā),源IP為VSIP、目的IP為Host IP
2.七層服務器負載均衡技術
七層負載均衡和四層負載均衡相比,只是進行負載均衡的依據(jù)不同,而選擇確定的實服務器后,所做的處理基本相同,下面以HTTP應用的負載均衡為例來說明。
由于在TCP握手階段,無法獲得HTTP真正的請求內(nèi)容,因此也就無法將客戶的TCP握手報文直接轉(zhuǎn)發(fā)給服務器, 必須由負載均衡設備先和客戶完成TCP握手,等收到足夠的七層內(nèi)容后,再選擇服務器,由負載均衡設備和所選服務器建立TCP連接。
七層負載均衡組網(wǎng)和四層負載均衡組網(wǎng)有一個顯著的區(qū)別:四層負載均衡每個虛服務對應一個實服務組,實服務組內(nèi)的所有實服務器提供相同的服務;七層負載均衡每個虛服務對應多個實服務組,每組實服務器提供相同的服務。根據(jù)報文內(nèi)容選擇對應的實服務組,然后根據(jù)實服務組調(diào)度算法選擇某一個實服務器。

七層負載均衡組網(wǎng)圖
上圖中描述了基于HTTP的URI目錄信息進行的七層負載均衡部署,報文交互流程圖如下:

七層負載均衡報文交互流程圖報文交互流程說明:
(1)-(3):Client和LB建立TCP連接;
(4):Client發(fā)送HTTP請求,目的IP為虛IP;
(5):LB設備分析報文,根據(jù)調(diào)度算法選擇實服務器,注意此時會緩存該報文;
(6):LB設備向?qū)嵎掌靼l(fā)Syn報文,序列號為Client的Syn報文序列號
(7):Server發(fā)送Syn/Ack報文,目的IP為Client;
(8):LB接收Server的Syn/Ack報文后,回應ACK報文
(9):修改步驟(5)中緩存的報文目的IP和TCP序列號,然后發(fā)給Server;
(10):Server發(fā)送響應報文到LB;
(11):LB修改步驟(9)中的報文的源地址和TCP序列號后轉(zhuǎn)發(fā)給Client。
#p#
二 鏈路負載均衡
在企業(yè)網(wǎng)、運營商鏈路出口需要部署LB設備以優(yōu)化鏈路選擇,提升訪問體驗,鏈路負載均衡按照流量發(fā)起方向分為Inbound負載均衡和Outbound負載均衡
1.Inbound入方向負載均衡
Inbound負載均衡技術是DNS智能解析的一種,外網(wǎng)用戶通過域名訪問內(nèi)部服務器時,Local DNS的地址解析請求到達LB設備,LB根據(jù)對Local DNS的就近性探測結果響應一個最優(yōu)的IP地址,外網(wǎng)用戶根據(jù)這個最優(yōu)的IP響應進行對內(nèi)部服務器的訪問。

Inbound鏈路負載均衡組網(wǎng)圖

入方向負載均衡
流程簡述如下:
(1)外部用戶進行資源訪問前先進行DNS解析,向其本地DNS服務器發(fā)送DNS請求。
(2)本地DNS服務器將DNS請求的源IP地址替換為自己的IP地址,并轉(zhuǎn)發(fā)給域名對應的權威服務器——LB device。
(3)LB device根據(jù)DNS請求的域名和配置的Inbound鏈路負載均衡規(guī)則進行域名解析。
(4)LB device按照域名解析的結果,將DNS應答發(fā)送給本地DNS服務器。
(5)本地DNS服務器將解析結果轉(zhuǎn)發(fā)給用戶。
(6)用戶使用解析結果選擇的鏈路,直接對LB device進行資源訪問。
2.Outbound出方向負載均衡
內(nèi)網(wǎng)用戶訪問Internet上其他服務器。 Outbound鏈路負載均衡中VSIP為內(nèi)網(wǎng)用戶發(fā)送報文的目的網(wǎng)段。用戶將訪問VSIP的報文發(fā)送到負載均衡設備后,負載均衡設備依次根據(jù)策略、持續(xù)性功能、就近性算法、調(diào)度算法選擇最佳的鏈路,并將內(nèi)網(wǎng)訪問外網(wǎng)的業(yè)務流量分發(fā)到該鏈路。

Outbound鏈路負載均衡組網(wǎng)圖
Outbound負載均衡報文交互流程如下:

Outbound 鏈路負載均衡流程圖
Outbound負載均衡報文交互流程說明:
(1)LB Device接收內(nèi)網(wǎng)用戶流量 -
(2)LB Device依次根據(jù)策略、持續(xù)性功能、就近性算法、調(diào)度算法進行鏈路選擇 在Outbound鏈路負載均衡組網(wǎng)中,通常使用就近性算法或帶寬調(diào)度算法實現(xiàn)流量分發(fā)
(3)LB device按照鏈路選擇的結果將流量轉(zhuǎn)發(fā)給選定的鏈路 -
(4)LB Device接收外網(wǎng)用戶流量 -
(5)LB Device將流量轉(zhuǎn)發(fā)給內(nèi)網(wǎng)用戶
#p#
三 負載均衡優(yōu)化及應用
1.TCP連接復用
連接復用功能通過使用連接池技術,可以將前端大量的客戶的HTTP請求復用到后端與服務器建立的少量的TCP長連接上,大大減小服務器的性能負載,減小與服務器之間新建TCP連接所帶來的延時,并最大限度減少后端服務器的并發(fā)連接數(shù),降低服務器的資源占用。

TCP連接復用示意圖上圖給出了TCP連接復用的簡單過程描述。由Client端發(fā)送的Req1/ Req2/ Req3三個HTTP請求,經(jīng)過LB設備后,復用了LB設備和Server端已經(jīng)建立好的連接,將Client端的三個請求通過兩個TCP連接發(fā)送給了服務器端。
2.SSL卸載
為了避免明文傳輸出現(xiàn)的安全問題,對于敏感信息,一般采用SSL協(xié)議,如HTTPS,對HTTP協(xié)議進行加密,以保證整個HTTP傳輸過程的安全性。SSL是需要耗費大量CPU資源的一種安全技術,如果由后端的服務器來承擔,則會消耗很大的處理能力。應用交付設備為了提升用戶的體驗,分擔服務器的處理壓力,將SSL加解密集中在自身的處理上,相對于服務器來說LB能提供更高的SSL處理性能,還能夠簡化對證書的管理,減少日常管理的工作量,LB的該功能又稱為SSL卸載。
下圖中Client端發(fā)送給Server的所有的HTTPS流量都被LB設備終結,LB設備將SSL終結后,與Server之間可采用HTTP或者弱加密的HTTPS進行通訊。LB設備承擔了SSL的卸載工作,從而極大的減小了服務器端對SSL處理的壓力,將服務器的處理能力釋放出來,更加專注于處理服務器本身承擔的業(yè)務邏輯。

SSL卸載示意圖
SSL卸載的處理流程如下:

SSL卸載過程
(1)客戶端向服務器端發(fā)送SSL握手請求。
(2)LB設備作為中間的卸載設備,代替服務器端和客戶端交互,完成SSL握手過程。
(3)客戶端發(fā)送SSL加密后的請求數(shù)據(jù)。
(4)LB設備解密數(shù)據(jù)。
(5)LB設備將解密后的明文發(fā)送給Server。
(6)服務器返回給LB設備回應報文。
(7)LB設備將返回的應答報文加密。
(8)LB設備將加密后的應答報文傳給客戶端。
3.DRX云環(huán)境應用交付
業(yè)務負載監(jiān)控平臺通過H3C負載均衡設備的參數(shù)設定和監(jiān)控可以動態(tài)感知業(yè)務負載變化,并通知云管理平臺動態(tài)調(diào)整業(yè)務資源。由此實現(xiàn)用戶業(yè)務資源的實時動態(tài)調(diào)整、業(yè)務資源優(yōu)化調(diào)配。
當業(yè)務負載監(jiān)控平臺發(fā)現(xiàn)業(yè)務資源需要調(diào)整時:業(yè)務負載超限—增加資源;業(yè)務資源過剩——回收資源,云管理平臺通過自動創(chuàng)建、啟動或者刪除停止虛擬機的方式為業(yè)務進行資源動態(tài)調(diào)整。
四 結束語
負載均衡技術不管應用于用戶訪問服務器資源,還是應用于多鏈路出口,均大大提高了對資源的高效利用,顯著降低了用戶的網(wǎng)絡布署成本,提升了用戶的網(wǎng)絡使用體驗。隨著云計算的發(fā)展,負載均衡的技術實現(xiàn)還將與云計算相結合,在虛擬化和NFV軟件定義網(wǎng)關等方面持續(xù)發(fā)展。






















