彈性負(fù)載均衡ELB的作用
彈性負(fù)載均衡ELB的工作原理
彈性負(fù)載均衡ELB是如何工作的
彈性負(fù)載均衡ELB的工作原理如下:
1、客戶端向您的應(yīng)用程序發(fā)出請(qǐng)求。
2、負(fù)載均衡器中的監(jiān)聽(tīng)器接收與您配置的協(xié)議和端口匹配的請(qǐng)求。
3、監(jiān)聽(tīng)器再根據(jù)您的配置將請(qǐng)求轉(zhuǎn)發(fā)至相應(yīng)的后端服務(wù)器組。如果配置了轉(zhuǎn)發(fā)策略,監(jiān)聽(tīng)器會(huì)根據(jù)您配置的轉(zhuǎn)發(fā)策略評(píng)估傳入的請(qǐng)求,如果匹配,請(qǐng)求將被轉(zhuǎn)發(fā)至相應(yīng)的后端服務(wù)器組。
4、后端服務(wù)器組中健康檢查正常的后端服務(wù)器將根據(jù)分配策略和您在監(jiān)聽(tīng)器中配置的轉(zhuǎn)發(fā)策略的路由規(guī)則接收流量,處理流量并返回客戶端。
請(qǐng)求的流量分發(fā)與負(fù)載均衡器所綁定的監(jiān)聽(tīng)器配置的轉(zhuǎn)發(fā)策略和后端服務(wù)器組配置的分配策略類型相關(guān)。
分配策略類型
獨(dú)享型負(fù)載均衡支持加權(quán)輪詢算法、加權(quán)最少連接、源IP算法、連接ID算法,共享型負(fù)載均衡支持加權(quán)輪詢算法、加權(quán)最少連接、源IP算法。
加權(quán)輪詢算法:根據(jù)后端服務(wù)器的權(quán)重,按順序依次將請(qǐng)求分發(fā)給不同的服務(wù)器。它用相應(yīng)的權(quán)重表示服務(wù)器的處理性能,按照權(quán)重的高低以及輪詢方式將請(qǐng)求分配給各服務(wù)器,權(quán)重大的后端服務(wù)器被分配的概率高。相同權(quán)重的服務(wù)器處理相同數(shù)目的連接數(shù)。常用于短連接服務(wù),例如HTTP等服務(wù)。
加權(quán)最少連接:最少連接是通過(guò)當(dāng)前活躍的連接數(shù)來(lái)估計(jì)服務(wù)器負(fù)載情況的一種動(dòng)態(tài)調(diào)度算法。加權(quán)最少連接就是在最少連接數(shù)的基礎(chǔ)上,根據(jù)服務(wù)器的不同處理能力,給每個(gè)服務(wù)器分配不同的權(quán)重,使其能夠接受相應(yīng)權(quán)值數(shù)的服務(wù)請(qǐng)求。常用于長(zhǎng)連接服務(wù),例如數(shù)據(jù)庫(kù)連接等服務(wù)。
源IP算法:將請(qǐng)求的源IP地址進(jìn)行一致性Hash運(yùn)算,得到一個(gè)具體的數(shù)值,同時(shí)對(duì)后端服務(wù)器進(jìn)行編號(hào),按照運(yùn)算結(jié)果將請(qǐng)求分發(fā)到對(duì)應(yīng)編號(hào)的服務(wù)器上。這可以使得對(duì)不同源IP的訪問(wèn)進(jìn)行負(fù)載分發(fā),同時(shí)使得同一個(gè)客戶端IP的請(qǐng)求始終被派發(fā)至某特定的服務(wù)器。該方式適合負(fù)載均衡無(wú)cookie功能的TCP協(xié)議。
連接ID算法:利用報(bào)文里的連接ID字段進(jìn)行一致性hash算法,得到一個(gè)具體的數(shù)值,同時(shí)對(duì)后端服務(wù)器進(jìn)行編號(hào),按照運(yùn)算結(jié)果將請(qǐng)求分發(fā)到對(duì)應(yīng)編號(hào)的服務(wù)器上。這可以使得對(duì)不同連接ID的訪問(wèn)進(jìn)行負(fù)載分發(fā),同時(shí)使得同一個(gè)連接ID的請(qǐng)求始終被派發(fā)至某特定的服務(wù)器。該方式適合于負(fù)載均衡QUIC協(xié)議應(yīng)用的報(bào)文流。
說(shuō)明:當(dāng)前僅獨(dú)享型負(fù)載均衡支持連接ID算法。
影響負(fù)載均衡的因素
一般情況下,影響負(fù)載均衡分配的因素包括分配策略、會(huì)話保持、長(zhǎng)連接、權(quán)重等。換言之,最終是否均勻分配不僅與分配策略相關(guān),還與使用的長(zhǎng)短連接、后端的性能負(fù)載等相關(guān)。
假設(shè)可用區(qū)內(nèi)有2臺(tái)權(quán)重相同且不為0的后端服務(wù)器,流量分配策略選擇“加權(quán)最少連接”,未開(kāi)啟會(huì)話保持,ECS 01已有100個(gè)連接,ECS 02已有50個(gè)連接。
如果有客戶端A使用長(zhǎng)連接訪問(wèn)了ECS 01,長(zhǎng)連接未斷開(kāi)期間,客戶端A的業(yè)務(wù)流量將持續(xù)轉(zhuǎn)發(fā)到ECS 01,其他客戶端的業(yè)務(wù)流量則根據(jù)分配策略優(yōu)先分配到ECS 02。
說(shuō)明:后端服務(wù)器健康檢查異?;驒?quán)重設(shè)置為0時(shí),ELB不會(huì)轉(zhuǎn)發(fā)業(yè)務(wù)流量到該后端服務(wù)器。
配置流量分配策略請(qǐng)參考流量分配策略。
檢查請(qǐng)求不均衡請(qǐng)參考如何檢查請(qǐng)求不均衡?。