加入星計(jì)劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴(kuò)散
  • 作品版權(quán)保護(hù)
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長(zhǎng)期合作伙伴
立即加入
  • 正文
    • Part 01●??ECMP?●
    • Part 02●?LVS負(fù)載?●
    • Part 03●??NGINX負(fù)載?●
    • Part 04●??思考和探究?●
  • 推薦器件
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

五分鐘技術(shù)趣談 | 負(fù)載均衡技術(shù)在算力網(wǎng)絡(luò)中的應(yīng)用

2023/09/25
2925
閱讀需 8 分鐘
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

作者:蔡伸,單位:中國(guó)移動(dòng)智慧家庭運(yùn)營(yíng)中心

在大力建設(shè)算力網(wǎng)絡(luò)的大背景下,隨著SDN思潮的深入推進(jìn)、網(wǎng)絡(luò)集群的部署,負(fù)載均衡成為了一種不可或缺的技術(shù),它在云,網(wǎng),邊都起了至關(guān)重要的作用。本文會(huì)對(duì)常見的幾種負(fù)載均衡技術(shù)進(jìn)行介紹,同時(shí)對(duì)各種技術(shù)的不足之處進(jìn)行思考。

Part 01●??ECMP?

ECMP是一個(gè)逐跳的、基于流的負(fù)載均衡策略,當(dāng)路由器發(fā)現(xiàn)同一目的地址出現(xiàn)多個(gè)最優(yōu)路徑時(shí),會(huì)更新路由表,為此目的地址添加多條規(guī)則,對(duì)應(yīng)于多個(gè)下一跳,且可同時(shí)利用這些路徑轉(zhuǎn)發(fā)數(shù)據(jù),增加帶寬。ECMP算法被多種路由協(xié)議支持,例如:OSPF、ISIS、EIGRP、BGP等。在數(shù)據(jù)中心架構(gòu)VL2中也提到使用ECMP作為負(fù)載均衡算法[1]。

簡(jiǎn)單來(lái)說(shuō),ECMP是基于路由層面實(shí)現(xiàn)的負(fù)載均衡,基于IP層進(jìn)行負(fù)載有許多優(yōu)點(diǎn),具體如下:

(1)部署配置簡(jiǎn)單,可以基于很多協(xié)議自身特性實(shí)現(xiàn)負(fù)載,無(wú)需額外配置。

(2)提供多種流量調(diào)度算法方式,可以基于哈希也可以基于權(quán)重和輪詢方式。

簡(jiǎn)單的方式同時(shí)意味著存在許多缺陷,具體如下:

(1)可能加劇鏈路堵塞。因?yàn)镋CMP不會(huì)判斷原先鏈路是否已經(jīng)堵塞,都會(huì)將流量進(jìn)行負(fù)載,這樣子會(huì)導(dǎo)致原先堵塞的鏈路更加堵塞。

(2)很多情況下負(fù)載效果不好。ECMP無(wú)法區(qū)分多條網(wǎng)絡(luò)后的流量空閑情況以及ECMP在流量差距大的情況下負(fù)載性能差。

這種基于網(wǎng)絡(luò)三層的負(fù)載方式雖然易于使用和部署,但是無(wú)法滿足業(yè)務(wù)層面的使用,無(wú)法保持會(huì)話,故下面筆者會(huì)介紹幾種網(wǎng)絡(luò)四層以上的負(fù)載方式。

Part 02●?LVS負(fù)載?

LVS(Linux Virtual Server)即Linux虛擬服務(wù)器,是由章文嵩博士主導(dǎo)的開源負(fù)載均衡項(xiàng)目,目前LVS已經(jīng)被集成到Linux內(nèi)核模塊中。該項(xiàng)目在Linux內(nèi)核中實(shí)現(xiàn)了基于IP的數(shù)據(jù)請(qǐng)求負(fù)載均衡調(diào)度方案,終端互聯(lián)網(wǎng)用戶從外部訪問(wèn)公司的外部負(fù)載均衡服務(wù)器,終端用戶的Web請(qǐng)求會(huì)發(fā)送給LVS調(diào)度器,調(diào)度器根據(jù)自己預(yù)設(shè)的算法決定將該請(qǐng)求發(fā)送給后端的某臺(tái)Web服務(wù)器,比如,輪詢算法可以將外部的請(qǐng)求平均分發(fā)給后端的所有服務(wù)器,終端用戶訪問(wèn)LVS調(diào)度器雖然會(huì)被轉(zhuǎn)發(fā)到后端真實(shí)的服務(wù)器,但如果真實(shí)服務(wù)器連接的是相同的存儲(chǔ),提供的服務(wù)也是相同的服務(wù),最終用戶不管是訪問(wèn)哪臺(tái)真實(shí)服務(wù)器,得到的服務(wù)內(nèi)容都是一樣的,整個(gè)集群對(duì)用戶而言都是透明的。最后根據(jù)LVS工作模式的不同,真實(shí)服務(wù)器會(huì)選擇不同的方式將用戶需要的數(shù)據(jù)發(fā)送到終端用戶,LVS工作模式分為NAT模式、TUN模式、以及DR模式【2】。

圖1 LVS結(jié)構(gòu)圖

與ECMP不同的是LVS是基于會(huì)話的四層負(fù)載均衡,LVS會(huì)基于上下行五元組對(duì)不同的流進(jìn)行會(huì)話保持,再結(jié)合LVS的長(zhǎng)期發(fā)展,LVS具有非常多的優(yōu)勢(shì):

(1)抗負(fù)載能力強(qiáng)。LVS只在網(wǎng)絡(luò)四層做分發(fā),不會(huì)過(guò)多的消耗CPU和內(nèi)存資源。

(2)配置要求低。簡(jiǎn)單配置就能夠正常使用。

(3)健壯性強(qiáng)。發(fā)展時(shí)間長(zhǎng),業(yè)內(nèi)的部署方案非常多,穩(wěn)定性高。

于此同時(shí),LVS也存在許多不足:

(1)功能不夠豐富。配置簡(jiǎn)單的同時(shí)導(dǎo)致LVS缺少更多的功能,缺少故障遷移,添加恢復(fù)等功能。

(2)NAT模式性能受限,當(dāng)然這也是很多四層負(fù)載所面臨的問(wèn)題,筆者會(huì)在后續(xù)提出思考。

Part 03●??NGINX負(fù)載?

NIGINX除了作為一個(gè)高性能的HTTP服務(wù)器,同時(shí)能夠提供反向代理WBE服務(wù)器的功能,也就意味著部署NGINX作為一臺(tái)負(fù)載均衡服務(wù)器是可行的。當(dāng)然,業(yè)內(nèi)已經(jīng)非常廣泛的在使用NGINX作為負(fù)載均衡服務(wù)器,服務(wù)集群,主備鏈路等。

NGINX和LVS類似,都是基于四層以上的負(fù)載均衡,能夠保持會(huì)話。同時(shí)因?yàn)镹GINX工作在網(wǎng)絡(luò)七層,相比LVS負(fù)載,NGINX對(duì)網(wǎng)絡(luò)的依賴會(huì)更小。

相比LVS負(fù)載均衡,NGINX具有如下優(yōu)勢(shì):

(1)對(duì)網(wǎng)絡(luò)依賴小。只要網(wǎng)絡(luò)能通就能做負(fù)載,不像LVS部分模式需要特定的網(wǎng)絡(luò)環(huán)境。

(2)安裝簡(jiǎn)單,配置部署快。

(3)NIGINX負(fù)載可以檢測(cè)到服務(wù)器內(nèi)部故障。簡(jiǎn)單來(lái)說(shuō),上傳文件時(shí)發(fā)生故障,NIGINX會(huì)自動(dòng)將上傳切到另一臺(tái)負(fù)載設(shè)備處理,LVS無(wú)法如此使用。

同樣的,NGINX也存在一些缺點(diǎn):

(1)缺少雙機(jī)熱備方案,多數(shù)情況下單機(jī)部署存在一定風(fēng)險(xiǎn)。(2)功能調(diào)整度高,變相導(dǎo)致它的維護(hù)成本和難度高于LVS。

Part 04●??思考和探究?

綜合以上幾種常見的負(fù)載技術(shù)的優(yōu)缺點(diǎn),其實(shí)不難發(fā)現(xiàn)各有各的好處,然而在實(shí)際使用過(guò)程中,筆者發(fā)現(xiàn)這幾種方式都很難滿足高性能跨網(wǎng)負(fù)載,即在做FULL-NAT的前提下實(shí)現(xiàn)跨城域網(wǎng)的負(fù)載,簡(jiǎn)單來(lái)說(shuō),就是在實(shí)驗(yàn)多節(jié)點(diǎn)云化部署時(shí),這些方案都存在一定的性能貧瘠。

基于此,經(jīng)過(guò)查閱相關(guān)資料,筆者發(fā)現(xiàn)Cisco開源的VPP項(xiàng)目提供了一種高性能負(fù)載均衡器的方式,基于DPDK收發(fā)包,VPP的高性能處理,經(jīng)過(guò)二次開發(fā)可以實(shí)現(xiàn)跨網(wǎng)高性能負(fù)載,目前已經(jīng)取得一定成效。下一期將針對(duì)這種高性能四層跨網(wǎng)負(fù)載均衡技術(shù)展開介紹和討論。

未來(lái),智慧家庭運(yùn)營(yíng)中心會(huì)在實(shí)現(xiàn)高性能跨網(wǎng)負(fù)載均衡器上進(jìn)行更多的研究,歡迎更多的開發(fā)架構(gòu)人員投入到高性能跨網(wǎng)負(fù)載均衡器的功能開發(fā)和場(chǎng)景探究之中來(lái)。

參考文獻(xiàn)

[1] 深入看ECMP(詳解其實(shí)現(xiàn)機(jī)制)https://blog.csdn.net/aiaiai010101/article/details/84673687,CSDN, 2018.

[2]??LVS負(fù)載均衡(LVS簡(jiǎn)介、三種工作模式、十種調(diào)度算法)https://cloud.tencent.com/developer/article/2054205,騰訊云, 2022.

推薦器件

更多器件
器件型號(hào) 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊(cè) ECAD模型 風(fēng)險(xiǎn)等級(jí) 參考價(jià)格 更多信息
KSZ9893RNXI 1 Microchip Technology Inc Ethernet Transceiver

ECAD模型

下載ECAD模型
$10.79 查看
KSZ8864CNXIA-TR 1 Microchip Technology Inc DATACOM, ETHERNET TRANSCEIVER, QCC64
暫無(wú)數(shù)據(jù) 查看
LAN8720AI-CP-TR-ABC 1 Microchip Technology Inc Ethernet Transceiver

ECAD模型

下載ECAD模型
暫無(wú)數(shù)據(jù) 查看

相關(guān)推薦

電子產(chǎn)業(yè)圖譜

移動(dòng)Labs是中國(guó)移動(dòng)的社交化新媒體平臺(tái),是面向外部行業(yè)及產(chǎn)業(yè)鏈合作伙伴的信息發(fā)布、業(yè)務(wù)發(fā)展和產(chǎn)業(yè)推進(jìn)門戶。