• 正文
    • Part 01●??ECMP?●
    • Part 02●?LVS負載?●
    • Part 03●??NGINX負載?●
    • Part 04●??思考和探究?●
  • 推薦器件
  • 相關推薦
申請入駐 產(chǎn)業(yè)圖譜

五分鐘技術趣談 | 負載均衡技術在算力網(wǎng)絡中的應用

2023/09/25
2591
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

作者:蔡伸,單位:中國移動智慧家庭運營中心

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

Part 01●??ECMP?

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

簡單來說,ECMP是基于路由層面實現(xiàn)的負載均衡,基于IP層進行負載有許多優(yōu)點,具體如下:

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

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

簡單的方式同時意味著存在許多缺陷,具體如下:

(1)可能加劇鏈路堵塞。因為ECMP不會判斷原先鏈路是否已經(jīng)堵塞,都會將流量進行負載,這樣子會導致原先堵塞的鏈路更加堵塞。

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

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

Part 02●?LVS負載?

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

圖1 LVS結構圖

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

(1)抗負載能力強。LVS只在網(wǎng)絡四層做分發(fā),不會過多的消耗CPU和內存資源。

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

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

于此同時,LVS也存在許多不足:

(1)功能不夠豐富。配置簡單的同時導致LVS缺少更多的功能,缺少故障遷移,添加恢復等功能。

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

Part 03●??NGINX負載?

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

NGINX和LVS類似,都是基于四層以上的負載均衡,能夠保持會話。同時因為NGINX工作在網(wǎng)絡七層,相比LVS負載,NGINX對網(wǎng)絡的依賴會更小。

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

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

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

(3)NIGINX負載可以檢測到服務器內部故障。簡單來說,上傳文件時發(fā)生故障,NIGINX會自動將上傳切到另一臺負載設備處理,LVS無法如此使用。

同樣的,NGINX也存在一些缺點:

(1)缺少雙機熱備方案,多數(shù)情況下單機部署存在一定風險。(2)功能調整度高,變相導致它的維護成本和難度高于LVS。

Part 04●??思考和探究?

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

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

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

參考文獻

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

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

推薦器件

更多器件
器件型號 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊 ECAD模型 風險等級 參考價格 更多信息
KSZ8863MLLI-TR 1 Microchip Technology Inc DATACOM, LAN SWITCHING CIRCUIT
$5.95 查看
TJA1052IT/5Y 1 NXP Semiconductors TJA1052i - Galvanically isolated high-speed CAN transceiver SOP 16-Pin

ECAD模型

下載ECAD模型
$7.84 查看
TJA1043TK/1Y 1 NXP Semiconductors TJA1043 - High-speed CAN transceiver SON 14-Pin

ECAD模型

下載ECAD模型
$1.96 查看

相關推薦

登錄即可解鎖
  • 海量技術文章
  • 設計資源下載
  • 產(chǎn)業(yè)鏈客戶資源
  • 寫文章/發(fā)需求
立即登錄

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