负载均衡(Load Balance)简介
負(fù)載均衡(Load Balance,簡(jiǎn)稱LB)是一種服務(wù)器或網(wǎng)絡(luò)設(shè)備的集群技術(shù)。負(fù)載均衡將特定的業(yè)務(wù)(網(wǎng)絡(luò)服務(wù)、網(wǎng)絡(luò)流量等)分擔(dān)給多個(gè)服務(wù)器或網(wǎng)絡(luò)設(shè)備,從而提高了業(yè)務(wù)處理能力,保證了業(yè)務(wù)的高可用性。負(fù)載均衡基本概念有:實(shí)服務(wù)、實(shí)服務(wù)組、虛服務(wù)、調(diào)度算法、持續(xù)性等,其常用應(yīng)用場(chǎng)景主要是服務(wù)器負(fù)載均衡,鏈路負(fù)載均衡。
一 服務(wù)器負(fù)載均衡
服務(wù)器負(fù)載均衡根據(jù)LB設(shè)備處理到的報(bào)文層次,分為四層服務(wù)器負(fù)載均衡和七層負(fù)載均衡,四層處理到IP包的IP頭,不解析報(bào)文四層以上載荷(L4 SLB);七層處理到報(bào)文載荷部分,比如HTTP,RTSP,SIP報(bào)文頭,有時(shí)也包括報(bào)文內(nèi)容部分(L7 SLB)。
1.四層服務(wù)器負(fù)載均衡技術(shù)
客戶端將請(qǐng)求發(fā)送給服務(wù)器群前端的負(fù)載均衡設(shè)備,負(fù)載均衡設(shè)備上的虛服務(wù)接收客戶端請(qǐng)求,通過調(diào)度算法,選擇真實(shí)服務(wù)器,再通過網(wǎng)絡(luò)地址轉(zhuǎn)換,用真實(shí)服務(wù)器地址重寫請(qǐng)求報(bào)文的目標(biāo)地址后,將請(qǐng)求發(fā)送給選定的真實(shí)服務(wù)器;真實(shí)服務(wù)器的響應(yīng)報(bào)文通過負(fù)載均衡設(shè)備時(shí),報(bào)文的源地址被還原為虛服務(wù)的VSIP,再返回給客戶,完成整個(gè)負(fù)載調(diào)度過程。報(bào)文交互流程如下:
NAT方式的服務(wù)器負(fù)載均衡報(bào)文交互流程圖報(bào)文交互流程說明:
(1)Host發(fā)送服務(wù)請(qǐng)求報(bào)文,源IP為Host IP、目的IP為VSIP
(2)LB Device接收到請(qǐng)求報(bào)文后,借助調(diào)度算法計(jì)算出應(yīng)該將請(qǐng)求分發(fā)給哪臺(tái)Server
(3)LB Device使用DNAT技術(shù)分發(fā)報(bào)文,源IP為Host IP、目的IP為Server IP
(4)Server接收并處理請(qǐng)求報(bào)文,返回響應(yīng)報(bào)文,源IP為Server IP、目的IP為Host IP
(5)LB Device接收響應(yīng)報(bào)文,轉(zhuǎn)換源IP后轉(zhuǎn)發(fā),源IP為VSIP、目的IP為Host IP
*即先做一個(gè)DNAT,再做一個(gè)SNAT,其中請(qǐng)求次數(shù)為一次,客戶端直接請(qǐng)求服務(wù)器。
2.七層服務(wù)器負(fù)載均衡技術(shù)
七層負(fù)載均衡和四層負(fù)載均衡相比,只是進(jìn)行負(fù)載均衡的依據(jù)不同,而選擇確定的實(shí)服務(wù)器后,所做的處理基本相同,下面以HTTP應(yīng)用的負(fù)載均衡為例來說明。
由于在TCP握手階段,無法獲得HTTP真正的請(qǐng)求內(nèi)容,因此也就無法將客戶的TCP握手報(bào)文直接轉(zhuǎn)發(fā)給服務(wù)器, 必須由負(fù)載均衡設(shè)備先和客戶完成TCP握手,等收到足夠的七層內(nèi)容后,再選擇服務(wù)器,由負(fù)載均衡設(shè)備和所選服務(wù)器建立TCP連接。
七層負(fù)載均衡組網(wǎng)和四層負(fù)載均衡組網(wǎng)有一個(gè)顯著的區(qū)別:四層負(fù)載均衡每個(gè)虛服務(wù)對(duì)應(yīng)一個(gè)實(shí)服務(wù)組,實(shí)服務(wù)組內(nèi)的所有實(shí)服務(wù)器提供相同的服務(wù);七層負(fù)載均衡每個(gè)虛服務(wù)對(duì)應(yīng)多個(gè)實(shí)服務(wù)組,每組實(shí)服務(wù)器提供相同的服務(wù)。根據(jù)報(bào)文內(nèi)容選擇對(duì)應(yīng)的實(shí)服務(wù)組,然后根據(jù)實(shí)服務(wù)組調(diào)度算法選擇某一個(gè)實(shí)服務(wù)器。
報(bào)文交互流程圖如下:
七層負(fù)載均衡報(bào)文交互流程圖報(bào)文交互流程說明:
(1)-(3):Client和LB建立TCP連接;
(4):Client發(fā)送HTTP請(qǐng)求,目的IP為虛IP;
(5):LB設(shè)備分析報(bào)文,根據(jù)調(diào)度算法選擇實(shí)服務(wù)器,注意此時(shí)會(huì)緩存該報(bào)文;
(6):LB設(shè)備向?qū)嵎?wù)器發(fā)Syn報(bào)文,序列號(hào)為Client的Syn報(bào)文序列號(hào)
(7):Server發(fā)送Syn/Ack報(bào)文,目的IP為Client;
(8):LB接收Server的Syn/Ack報(bào)文后,回應(yīng)ACK報(bào)文
(9):修改步驟(5)中緩存的報(bào)文目的IP和TCP序列號(hào),然后發(fā)給Server;
(10):Server發(fā)送響應(yīng)報(bào)文到LB;
(11):LB修改步驟(9)中的報(bào)文的源地址和TCP序列號(hào)后轉(zhuǎn)發(fā)給Client。
*即先做一個(gè)DNAT+SNAT,請(qǐng)求到數(shù)據(jù)后再做一個(gè)DNAT+SNAT,其中請(qǐng)求次數(shù)為兩次,客戶端請(qǐng)求負(fù)載均衡,然后負(fù)載均衡再請(qǐng)求Server,客戶端與服務(wù)器不直接進(jìn)行連接,且7層的負(fù)載均衡可以在應(yīng)用層進(jìn)行負(fù)載。
二 鏈路負(fù)載均衡
在企業(yè)網(wǎng)、運(yùn)營(yíng)商鏈路出口需要部署LB設(shè)備以優(yōu)化鏈路選擇,提升訪問體驗(yàn),鏈路負(fù)載均衡按照流量發(fā)起方向分為Inbound負(fù)載均衡和Outbound負(fù)載均衡
1.Inbound入方向負(fù)載均衡
Inbound負(fù)載均衡技術(shù)是DNS智能解析的一種,外網(wǎng)用戶通過域名訪問內(nèi)部服務(wù)器時(shí),Local DNS的地址解析請(qǐng)求到達(dá)LB設(shè)備,LB根據(jù)對(duì)Local DNS的就近性探測(cè)結(jié)果響應(yīng)一個(gè)最優(yōu)的IP地址,外網(wǎng)用戶根據(jù)這個(gè)最優(yōu)的IP響應(yīng)進(jìn)行對(duì)內(nèi)部服務(wù)器的訪問。
Inbound鏈路負(fù)載均衡組網(wǎng)圖
入方向負(fù)載均衡
流程簡(jiǎn)述如下:
(1)外部用戶進(jìn)行資源訪問前先進(jìn)行DNS解析,向其本地DNS服務(wù)器發(fā)送DNS請(qǐng)求。
(2)本地DNS服務(wù)器將DNS請(qǐng)求的源IP地址替換為自己的IP地址,并轉(zhuǎn)發(fā)給域名對(duì)應(yīng)的權(quán)威服務(wù)器——LB device。
(3)LB device根據(jù)DNS請(qǐng)求的域名和配置的Inbound鏈路負(fù)載均衡規(guī)則進(jìn)行域名解析。
(4)LB device按照域名解析的結(jié)果,將DNS應(yīng)答發(fā)送給本地DNS服務(wù)器。
(5)本地DNS服務(wù)器將解析結(jié)果轉(zhuǎn)發(fā)給用戶。
(6)用戶使用解析結(jié)果選擇的鏈路,直接對(duì)LB device進(jìn)行資源訪問。
2.Outbound出方向負(fù)載均衡
內(nèi)網(wǎng)用戶訪問Internet上其他服務(wù)器。 Outbound鏈路負(fù)載均衡中VSIP為內(nèi)網(wǎng)用戶發(fā)送報(bào)文的目的網(wǎng)段。用戶將訪問VSIP的報(bào)文發(fā)送到負(fù)載均衡設(shè)備后,負(fù)載均衡設(shè)備依次根據(jù)策略、持續(xù)性功能、就近性算法、調(diào)度算法選擇最佳的鏈路,并將內(nèi)網(wǎng)訪問外網(wǎng)的業(yè)務(wù)流量分發(fā)到該鏈路。
Outbound鏈路負(fù)載均衡組網(wǎng)圖
Outbound負(fù)載均衡報(bào)文交互流程如下:
Outbound 鏈路負(fù)載均衡流程圖
Outbound負(fù)載均衡報(bào)文交互流程說明:
(1)LB Device接收內(nèi)網(wǎng)用戶流量 -
(2)LB Device依次根據(jù)策略、持續(xù)性功能、就近性算法、調(diào)度算法進(jìn)行鏈路選擇 在Outbound鏈路負(fù)載均衡組網(wǎng)中,通常使用就近性算法或帶寬調(diào)度算法實(shí)現(xiàn)流量分發(fā)
(3)LB device按照鏈路選擇的結(jié)果將流量轉(zhuǎn)發(fā)給選定的鏈路 -
(4)LB Device接收外網(wǎng)用戶流量 -
(5)LB Device將流量轉(zhuǎn)發(fā)給內(nèi)網(wǎng)用戶
三 負(fù)載均衡優(yōu)化及應(yīng)用
1.TCP連接復(fù)用
2.SSL卸載
轉(zhuǎn)載自:http://network.51cto.com/art/201509/492457.htm
總結(jié)
以上是生活随笔為你收集整理的负载均衡(Load Balance)简介的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 细说 Nginx: 负载均衡 Load
- 下一篇: 负载均衡(Loadbalance)