99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

廣告在線模型系統(tǒng)負載均衡策略實踐

京東云 ? 來源:jf_75140285 ? 作者:jf_75140285 ? 2024-07-23 14:14 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

一、背景簡介

1.1、現(xiàn)狀

?實際生產(chǎn)環(huán)境中,復雜業(yè)務系統(tǒng)對分布式服務集群架構的依賴。

?服務集群異質(zhì)化節(jié)點的容器化部署,機器性能超賣現(xiàn)象不可避免、性能不均情況時有發(fā)生。

?服務集群各硬件組件出錯率不可避免[1],上層業(yè)務相關的應用軟件系統(tǒng)需考慮容錯設計。

?大促流量分布變化難以準確預見,系統(tǒng)服務穩(wěn)定性與機器資源成本之間需進行妥善權衡。

1.2、問題

wKgaomafSiaABC39AA-yaZGyEhA143.png

?集群內(nèi)負載不均,整體資源利用率低。

?單節(jié)點過載容易觸發(fā)集群整體擴容。


wKgZomafSieAQ4eUAAmcFNMIzP8107.png

?節(jié)點偶發(fā)硬件(CPU、網(wǎng)卡、內(nèi)存等)異常影響業(yè)務服務整體可用率。

?大促等分布多變的線上流量容易導致集群服務穩(wěn)定性問題。

1.3、需求

設計合理的負載均衡策略(LB)來提高服務集群的資源利用率和服務穩(wěn)定性,以有效應對大促復雜多變的流量對系統(tǒng)服務的沖擊。

二、理論基礎

2.1、通用負載均衡問題

負載均衡是提高系統(tǒng)資源利用率和并行計算性能的一個關鍵技術,可分為靜態(tài)和動態(tài)兩類。如果負載可以在運行之前確定并事先將負載劃分,則屬于靜態(tài)負載均衡問題;若只能在運行時測量負載并動態(tài)確定負載劃分,則屬于動態(tài)負載均衡(DLB)問題。

對于給定的一個包含計算和通訊的任務集合,以及一組通過一定拓撲連接起來的計算機,求解任務到計算機的一個映射,使得求解該問題的時間最小,這就是負載均衡的目標[2]。

2.2、負載均衡策略匯總

2.2.1、分布式策略

實現(xiàn)分布式的負載均衡可有多種策略,其中一個基本策略就是近鄰法。在該策略中,每個處理器和相鄰處理器交換負載,實現(xiàn)和相鄰處理器間的負載均衡,并經(jīng)過多次迭代達到全局負載均衡。它主要包括擴散法、維交換法(DEM)和梯度法(GM)。

2.2.2、集中式策略

在集中式策略中,每個處理器的計算負載和通訊發(fā)送到一個指定的處理器,該處理器負責收集、處理全局的負載信息,并做出全局的負載均衡決策。

2.2.3、混合/層次策略

為了最小化負載均衡開銷,一些負載均衡方法重在研究如何根據(jù)層次拓撲結構來構建一個層次樹的問題。利用層次樹進行多級負載均衡,根據(jù)層次化的網(wǎng)絡結構將處理器劃分為多個組(均衡域),由這些均衡域組織成一個層次結構。在層次結構中的每一層,相鄰的域間進行負載均衡,并且從底層至上層,在每層執(zhí)行相同的域間負載均衡過程,最后在根節(jié)點完成全局的負載均衡。

2.3、負載均衡算法層級

2.3.1、系統(tǒng)級負載均衡

?DNS負載均衡

DNS負載均衡是一種使用DNS(域名系統(tǒng))來分散到達特定網(wǎng)站的流量的方法?;旧希峭ㄟ^將一個域名解析到多個IP地址來實現(xiàn)的。當用戶試圖接入這個域名時,DNS服務器會根據(jù)一定的策略選擇一個IP地址返回給用戶,以此來實現(xiàn)網(wǎng)絡流量的均衡分配。

?Nginx負載均衡

Nginx是一種高效的Web服務器/反向代理服務器,它也可以作為一個負載均衡器使用。在負載均衡配置中,Nginx可以將接收到的請求分發(fā)到多個后端服務器上,從而提高響應速度和系統(tǒng)的可靠性。Nginx是負載均衡比較常用的方案。

?LVS/F5+Nginx

Nginx一般用于七層負載均衡,其吞吐量是有一定限制的,如果網(wǎng)站的請求量非常高,還是存在性能問題。為了提升整體吞吐量,會在DNS和Nginx之間引入接入層,如使用LVS(軟件負載均衡器)、F5(硬件負載均衡器)可以做四層負載均衡,即首先DNS解析到LVS/F5,然后LVS/F5轉(zhuǎn)發(fā)給Nginx,再由Nginx轉(zhuǎn)發(fā)給后端真實服務器。

2.3.2、應用級負載均衡

?Ribbon負載均衡

Ribbon是一個開源的、基于HTTP和TCP的客戶端負載均衡工具,它提供了一個簡單的、基于配置的負載均衡策略,其通過在客戶端上運行來選擇最佳的服務器。Ribbon提供了多種負載均衡策略,如隨機、輪詢、最少活躍調(diào)用等,可以根據(jù)實際需求選擇合適的策略。當客戶端連接到服務器后,Ribbon會根據(jù)服務器的響應速度、負載情況等因素進行評估,并動態(tài)調(diào)整選擇的服務器。這種方式可以實現(xiàn)更靈活的負載均衡,提高系統(tǒng)的可用性和性能。

?Dubbo負載均衡

Dubbo是一種高性能的分布式服務框架,它提供了一套完整的服務治理解決方案。其中,負載均衡是Dubbo框架的重要特性之一,它可以幫助我們實現(xiàn)服務調(diào)用的負載均衡,提高系統(tǒng)的性能和可靠性。通過配置文件或編程方式,我們可以基于Dubbo框架在多個服務提供者之間靈活地進行請求分發(fā),以實現(xiàn)請求的負載均衡。具體地,其提供了多種負載均衡策略,包括隨機、輪詢、最少活躍調(diào)用等。

三、方案實踐

3.1、模型系統(tǒng)負載均衡策略演進歷程

wKgaomafSiiAKXVdAAB_Ga8wisg701.png

圖3-1. 在線模型系統(tǒng)服務常見架構

3.1.1、常見負載均衡策略

?靜態(tài)負載均衡技術

?輪詢(Round Robin)、隨機(Random)等;

?處理策略簡單、時效性高,但依賴集群節(jié)點同質(zhì)化假設。

?動態(tài)負載均衡技術

?最小鏈接數(shù)(Least Connections)、最低時延(Locality Aware)等;

?基于節(jié)點相關狀態(tài)信息反饋,實時調(diào)整分流策略,進而達到期望指標的均衡。

3.1.2、演進一:LB策略適配服務集群業(yè)務特點

?在線特征服務集群

?在線廣告業(yè)務場景:User & Sku數(shù)量龐大、特征類型豐富。

?集群Cache機制保證特征處理時效性,并降低相關依賴服務(如:SKU服務集群)請求壓力。

?LB策略需保證一定的Cache命中率:基于用戶PIN的一致性Hash策略[3]。

?模型預估服務集群

?在線推理過程對請求之間透明,常規(guī)隨機Random策略即可。

3.1.3、演進二:LB策略引入“可用率”目標,增強服務穩(wěn)定性

?問題現(xiàn)象

?集群單節(jié)點異常,個別異常節(jié)點可用率影響集群整體可用率。

?線上突發(fā)流量變化,影響服務穩(wěn)定性,甚至導致服務不可用,服務集群缺乏自動防護。

?策略升級

?靜態(tài)策略 → 動態(tài)策略:引入集群節(jié)點實時可用率統(tǒng)計指標。

?服務可用率指標直接控制節(jié)點流量分配、請求降級/恢復:(1)可用率低于集群平均可用率閾值節(jié)點減少分流比例;(2)集群平均可用率低于閾值,開啟降級防護,并周期性嘗試降級恢復。

3.1.4、演進三:LB策略添加“異構硬件利用率”(CPU/GPU)目標,提高資源利用率

?問題現(xiàn)象

?集群異質(zhì)化節(jié)點部署,各節(jié)點資源利用不均。

?集群木桶效應嚴重,個別節(jié)點性能受限觸發(fā)集群整體擴容。

?策略升級

?單目標策略 → 多目標分級策略:進一步添加集群節(jié)點CPU/GPU資源利用統(tǒng)計指標。

?服務可用率指標為主,CPU/GPU資源利用率指標為輔。在服務可用率滿足的條件下,進一步調(diào)節(jié)流量分配比例,實現(xiàn)集群CPU/GPU資源利用率的最大化。

3.1.5、演進四:LB實現(xiàn)框架統(tǒng)一,支撐廣告系統(tǒng)全鏈路算力的最優(yōu)調(diào)度

?問題現(xiàn)象

?模型系統(tǒng)內(nèi)部各模塊LB框架各異,維護開發(fā)成本較高。

?模型系統(tǒng)內(nèi)、外服務之間的不同LB框架無法復用,阻礙廣告系統(tǒng)全鏈路算力的最優(yōu)化實現(xiàn)。

?策略升級

?模塊化重構LB策略相關邏輯實現(xiàn),并統(tǒng)一LB框架,進而打通模型系統(tǒng)內(nèi)、外服務之間的算力孤島。

3.1.6、總結

?生產(chǎn)環(huán)境復雜多變,進而要求LB策略的設計對系統(tǒng)影響穩(wěn)定且結果可預見。

?業(yè)務服務指標和集群性能指標之間相互影響,單目標均衡策略無法兩者兼顧。

?多目標均衡策略必然引入成倍的決策復雜度:k(均衡目標數(shù))* n(C端集群)*m(S端集群)。

?多目標均衡分級:不同目標間相互耦合,難以兼顧!總需要有一個主目標作為兜底。

?均衡目標與均衡策略之間的適配&兼容:(1)多目標(CPU+可用率)、多負載均衡策略(Random、ConsistentHash)適配簡單;(2)新LB策略對舊LB均衡策略的兼容性(CPU均衡對一致性Hash原則的兼容性)。

3.2、“服務可用率+資源利用率”雙目標聯(lián)合均衡LB策略

該策略以服務可以率目標為兜底,基于待優(yōu)化資源利用率目標的期望取值,將任意時刻整個集群的所有節(jié)點劃分為 “負反饋列表(refuse list)” 和 “正反饋列表(accept list)” 兩部分,且節(jié)點實際取值與期望取值之間的數(shù)值差異表征了當前節(jié)點在該優(yōu)化目標上的“均衡度”。同時,負反饋列表中的節(jié)點采用減少分流比例策略,正反饋列表中的節(jié)點則增加分流比例,而分流策略的具體變化比例由當前節(jié)點的均衡度來決定。

3.2.1、雙目標分級反饋

wKgZomafSimAElUyAACPMtuZYVw154.jpg

針對在線服務應用場景,往往更關注于服務本身的可用率指標,與之相較的CPU利用率則作為L2級均衡目標,具體地:

?Stage-1:統(tǒng)計當前周期內(nèi)集群各節(jié)點請求的成功數(shù)量和失敗數(shù)量以計算出單個服務節(jié)點的平均可用率;

?Stage-2:通過匯總所有服務節(jié)點的平均可用率以獲得集群的平均可用率,并將其作為可用率均衡目標在當前周期內(nèi)的期望取值;

?Stage-3:基于各節(jié)點平均可用率與集群平均可用率之間的差異,確定出各服務節(jié)點的均衡度:當前服務節(jié)點的可用率已滿足均衡目標,則進一步進行L2級CPU利用率目標均衡;否則,選取下一節(jié)點重新進行服務可用率均衡處理。

3.2.2、服務可用率主動防護

wKgaomafSiqAD8ttAAKiFerumgQ231.png

?Stage-1:節(jié)點選擇,待選擇節(jié)點成功率需不低于集群平均成功率。

?Stage-2:成功率更新,雙端隊列固定窗口維護各節(jié)點請求RPC狀態(tài),并實時更新集群平均成功率。

?Stage-3:主動防護,周期性統(tǒng)計集群歷史平均成功率,并判斷其變化趨勢:如成功率變差,則觸發(fā)主動防護降級;如成功率變好,則逐漸恢復降級防護。

3.2.3、資源利用率(如CPU)漸進式收斂

wKgZomafSiyAS6vAAACdkLYtA4Y763.jpg

wKgaomafSi2AMwSeAAEvHxOgk5s633.png

?Stage-1:集群中所有節(jié)點的列表屬性均被初始化為refuse list,同時設置節(jié)點分流策略的調(diào)整比例

為0;

?Stage-2:收集集群各節(jié)點周期性反饋的CPU利用率

,計算出當前集群整體的CPU利用率均值,進而得到CPU利用率均衡目標的期望取值

;

?Stage-3:針對實際迭代場景中不同屬性的集群節(jié)點,先根據(jù)式 (1)、(2) 獲得節(jié)點CPU利用率的實際均衡度

,再通過式 (3)、(4)來完成對應節(jié)點分流策略調(diào)整比例的迭代更新:

。

3.2.4、收斂域+權重衰減

wKgZomafSi-ARiCXAAWaMzzE86s917.png

追求期望指標的絕對均衡,難以兼容與流量分布密切相關的LB策略,如一致性哈希(Consistent Hashing)。

?為

引入容差范圍

,使得均衡目標的收斂從單一基準點擴展為收斂區(qū)域。

?定期衰減分流權重,在容差范圍內(nèi)進一步弱化對一致性Hash原則的影響。

3.2.5、聯(lián)合均衡策略特點

?兼顧服務指標(可用率)和性能指標(CPU利用率)。

?漸進收斂,動態(tài)調(diào)權過程更穩(wěn)定,且支持收斂域。

四、效果展示

4.1、收斂點

wKgaomafSjGAebnBAAkZfofZEL0777.png

?通過閉環(huán)反饋調(diào)整邏輯,實現(xiàn)集群平均基準收斂點均衡。

?2022年618期間在模型預估服務集群全量上線,優(yōu)化整體機器資源利用率10%+。

4.2、收斂域+權重衰減

wKgZomafSjOARC-oAA9lQWLoggs888.png

?CPU使用率 Max/Min Diff 減少 2 倍,服務集群緩存命中率降低控制在2% 以內(nèi)。

?2022年雙十一期間在模型特征服務集群全量上線,優(yōu)化整體機器資源利用率15%+。

4.3、異構硬件擴展

wKgaomafSjWANU24AArCWi3YgGU346.png

不限于CPU利用率的均衡,針對GPU A10、A30異構硬件混合部署的模型預估服務平臺,通過在服務內(nèi)部增加GPU利用率探針,直接擴展為對GPU硬件利用率的均衡,等效優(yōu)化機器資源上千核。

4.4、LB框架統(tǒng)一

wKgZomafSjiAZn7eABHk5sz1hlM140.png

?LB框架統(tǒng)一后,模型系統(tǒng)內(nèi)、外服務LB策略完全打通。

?2024年618大促前后模型接入服務模塊完成全量上線,整體CPU資源利用率優(yōu)化20%+。

五、經(jīng)驗總結

5.1、穩(wěn)定調(diào)權過程中的異常處理

?權重歸一化,避免權重更新出現(xiàn)發(fā)散。

?排除異常節(jié)點數(shù)據(jù),即使最壞情況下也需保證系統(tǒng)不能差于初始狀態(tài)。

?......

5.2、性能極限情況下的主動限流防護

?均衡策略有效的前提:流量變化與均衡目標之間存在相關性!

?節(jié)點性能到達極限時,相關性關系可能失效,主動限流防護必不可少。


Reference

1.Wang G, Zhang L, Xu W .What Can We Learn from Four Years of Data Center Hardware Failures[C]//Dependable Systems and Networks.IEEE, 2017.DOI:10.1109/dsn.2017.26.

2.楊際祥,譚國真,王榮生.并行與分布式計算動態(tài)負載均衡策略綜述[J].電子學報, 2010, 38(5):9.DOI:CNKI:SUN:DZXU.0.2010-05-023.

3.Mirrokni V , Thorup M , Zadimoghaddam M .Consistent Hashing with Bounded Loads[J]. 2016.DOI:10.48550/arXiv.1608.01350.

4. https://developer.aliyun.com/article/1325514 .

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 負載
    +關注

    關注

    2

    文章

    615

    瀏覽量

    35233
  • 服務器
    +關注

    關注

    13

    文章

    9793

    瀏覽量

    87945
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    智能路徑調(diào)度:AI驅(qū)動負載均衡的異常路徑治理實踐

    在AI驅(qū)動的數(shù)據(jù)中心網(wǎng)絡環(huán)境中,傳統(tǒng)的“盡力而為”和“無差別均分”負載均衡策略已力不從心?;诼窂骄C合質(zhì)量的動態(tài)WCMP機制,通過實時感知路徑狀態(tài)、果斷剔除異常、智能調(diào)度“健康”資源,有效解決了AI流量對網(wǎng)絡高可靠、高性能的核心
    的頭像 發(fā)表于 07-03 16:26 ?756次閱讀
    智能路徑調(diào)度:AI驅(qū)動<b class='flag-5'>負載</b><b class='flag-5'>均衡</b>的異常路徑治理<b class='flag-5'>實踐</b>

    一文詳解Nginx負載均衡

    Nginx作為負載均衡器,通過將請求分發(fā)到多個后端服務器,以提高性能、可靠性和擴展性。支持多種負載均衡算法,如輪詢、最小連接數(shù)、IP哈希等,可以根據(jù)需求選擇適合的算法。
    的頭像 發(fā)表于 06-25 14:51 ?181次閱讀
    一文詳解Nginx<b class='flag-5'>負載</b><b class='flag-5'>均衡</b>

    四層和七層負載均衡的核心區(qū)別

    在現(xiàn)代分布式系統(tǒng)和云計算架構中,負載均衡(Load Balancing, LB)是確保高可用性、可擴展性和性能優(yōu)化的關鍵技術。負載均衡器根據(jù)
    的頭像 發(fā)表于 05-29 17:42 ?321次閱讀

    常見網(wǎng)絡負載均衡的幾種方式

    常見網(wǎng)絡負載均衡的幾種方式包括:DNS負載均衡、反向代理負載均衡、IP
    的頭像 發(fā)表于 03-06 11:14 ?526次閱讀

    【「大模型啟示錄」閱讀體驗】營銷領域大模型的應用

    使企業(yè)能夠提前洞察市場動向,制定前瞻性的市場策略,從而在競爭中占據(jù)有利地位。 通過分析廣告投放的效果數(shù)據(jù),大模型可以幫助企業(yè)優(yōu)化廣告內(nèi)容和投放
    發(fā)表于 12-24 12:48

    云服務器怎么做負載均衡

    云 服務器怎么做負載均衡 ? 云服務器的負載均衡通過分配策略、自動擴展、健康檢查和跨區(qū)域部署四個核心技術來實現(xiàn)。 分配
    的頭像 發(fā)表于 12-24 10:40 ?419次閱讀

    常見的lvs負載均衡算法

    常見的lvs負載均衡算法包括輪詢(RR)、加權輪詢(WRR)、最小連接(LC)、加權最小連接(WLC)、基于局部性的最少鏈接(LBLC)、帶復制的LBLC(LBLCR)、目標地址散列(DH)、源地址
    的頭像 發(fā)表于 12-12 13:50 ?587次閱讀

    多鏈路負載均衡設置在哪里?

    多鏈路負載均衡設置涉及交換機、路由器和(可選)負載均衡器的設置。首先規(guī)劃網(wǎng)絡拓撲和IP地址,備份設備配置。然后,在交換機上配置VLAN和Trunk鏈路,在路由器上配置接口、路由協(xié)議和
    的頭像 發(fā)表于 11-13 10:19 ?470次閱讀

    nginx負載均衡配置介紹

    目錄 nginx負載均衡 nginx負載均衡介紹 反向代理與負載均衡 nginx
    的頭像 發(fā)表于 11-10 13:39 ?753次閱讀
    nginx<b class='flag-5'>負載</b><b class='flag-5'>均衡</b>配置介紹

    華納云:什么是負載均衡?優(yōu)化資源利用率的策略

    負載均衡是現(xiàn)代計算機網(wǎng)絡架構中不可或缺的一部分,它通過智能分配請求和任務,確保系統(tǒng)資源的高效利用。本文將探討負載均衡的概念、工作原理、優(yōu)化資
    的頭像 發(fā)表于 10-28 16:07 ?604次閱讀

    天翼云彈性負載均衡介紹

    采用負載均衡策略,將請求分發(fā)至多臺服務器上進行處理。負載均衡在現(xiàn)代IT架構中扮演著至關重要的角色,尤其是在大型分布式
    的頭像 發(fā)表于 10-25 16:20 ?1385次閱讀
    天翼云彈性<b class='flag-5'>負載</b><b class='flag-5'>均衡</b>介紹

    IPVS負載均衡原理解析

    ipvs (IP Virtual Server) 實現(xiàn)了傳輸層負載均衡,也就是我們常說的4層LAN交換,作為 Linux 內(nèi)核的一部分。ipvs運行在主機上,在真實服務器集群前充當負載均衡
    的頭像 發(fā)表于 10-24 17:34 ?778次閱讀

    零基礎也可以搞懂負載均衡怎么配置!

    負載均衡怎么配置?在Linux中配置負載均衡器的步驟涉及多個環(huán)節(jié),包括選擇負載均衡軟件、安裝
    的頭像 發(fā)表于 10-12 15:58 ?609次閱讀

    負載均衡是什么意思?盤點常見的三種方式

    避免過載的目的。簡單來說,它就是將工作任務或訪問請求平衡、分攤到多個操作單元上進行處理,以提高系統(tǒng)的整體性能、可靠性和可擴展性。通過負載均衡,系統(tǒng)能夠更高效地處理大量并發(fā)請求,減少單個
    的頭像 發(fā)表于 09-29 14:30 ?695次閱讀

    負載均衡服務由幾部分組成?分別是什么

    均衡服務通常由六部分組成,分別是客戶端、負載均衡器、后端服務器、負載均衡算法、監(jiān)控和健康檢查及會話保持。這六者互相協(xié)同工作,實現(xiàn)了流量的有效
    的頭像 發(fā)表于 09-18 11:16 ?555次閱讀