阿里云負(fù)載均衡的基礎(chǔ)架構(gòu)
發(fā)布時(shí)間:2018-07-16 點(diǎn)擊數(shù):1425
負(fù)載均衡采用集群部署,可實(shí)現(xiàn)會(huì)話同步,以消除服務(wù)器單點(diǎn)故障,提升冗余,保證服務(wù)的穩(wěn)定性。
阿里云當(dāng)前提供四層(TCP協(xié)議和UDP協(xié)議)和七層(HTTP和HTTPS協(xié)議)的負(fù)載均衡服務(wù)。
- 四層采用開(kāi)源軟件LVS(Linux Virtual Server)+ keepalived的方式實(shí)現(xiàn)負(fù)載均衡,并根據(jù)云計(jì)算需求對(duì)其進(jìn)行了個(gè)性化定制。
-
七層采用Tengine實(shí)現(xiàn)負(fù)載均衡。Tengine是由淘寶網(wǎng)發(fā)起的Web服務(wù)器項(xiàng)目,它在Nginx的基礎(chǔ)上,針對(duì)有大訪問(wèn)量的網(wǎng)站需求,添加了很多高級(jí)功能和特性。
如下圖所示,各個(gè)地域的四層負(fù)載均衡實(shí)際上是由多臺(tái)LVS機(jī)器部署成一個(gè)LVS集群來(lái)運(yùn)行的。采用集群部署模式極大地保證了異常情況下負(fù)載均衡服務(wù)的可用性、穩(wěn)定性與可擴(kuò)展性。

LVS集群內(nèi)的每臺(tái)LVS都會(huì)進(jìn)行會(huì)話,通過(guò)組播報(bào)文同步到該集群內(nèi)的其它LVS機(jī)器上,從而實(shí)現(xiàn)LVS集群內(nèi)各臺(tái)機(jī)器間的會(huì)話同步。如下圖所示,當(dāng)客戶(hù)端向服務(wù)端傳輸三個(gè)數(shù)據(jù)包后,在LVS1上建立的會(huì)話A開(kāi)始同步到其它LVS機(jī)器上。圖中實(shí)線表示現(xiàn)有的連接,圖中虛線表示當(dāng)LVS1出現(xiàn)故障或進(jìn)行維護(hù)時(shí),這部分流量會(huì)走到一臺(tái)可以正常運(yùn)行的機(jī)器LVS2上。因而負(fù)載均衡集群支持熱升級(jí),并且在機(jī)器故障和集群維護(hù)時(shí)最大程度對(duì)用戶(hù)透明,不影響用戶(hù)業(yè)務(wù)。
![]() |
說(shuō)明 |
對(duì)于連接未建立(三次握手未完成),或者已建立連接但未觸發(fā)會(huì)話同步機(jī)制,熱升級(jí)不保證連接不中斷,需要依靠客戶(hù)端重新發(fā)起連接。 |