百度亮相 SREcon25:搜索穩(wěn)定背后的秘密,微服務(wù)雪崩故障防范
近日,全球 SRE 領(lǐng)域具有高度影響力的國際會(huì)議 SREcon25 在愛爾蘭都柏林舉行。該會(huì)議由計(jì)算機(jī)科學(xué)領(lǐng)域權(quán)威機(jī)構(gòu) USENIX 主辦,已成為全球可靠性工程師(SRE)交流的頂級盛會(huì)。本屆大會(huì)匯聚了來自 Google、Meta、AWS、百度等全球領(lǐng)先企業(yè)的技術(shù)專家,共同探討分布式系統(tǒng)的穩(wěn)定性演進(jìn)、可觀測性與自治運(yùn)維的未來方向。
在此次大會(huì)上,百度智能云運(yùn)維部與百度搜索架構(gòu)部聯(lián)合發(fā)表主題報(bào)告 《Preventing Avalanche Failures in Large-Scale Microservice Systems》(《大規(guī)模微服務(wù)系統(tǒng)中的雪崩故障防范》),系統(tǒng)闡述了團(tuán)隊(duì)在微服務(wù)穩(wěn)定性治理、系統(tǒng)級防崩潰機(jī)制及韌性架構(gòu)設(shè)計(jì)方面的實(shí)踐成果,標(biāo)志著百度在全球 SRE 領(lǐng)域的工程創(chuàng)新與可靠性治理能力獲得國際同行認(rèn)可。
1.從靈活到脆弱:復(fù)雜微服務(wù)系統(tǒng)的雪崩故障風(fēng)險(xiǎn)
分布式技術(shù)使得系統(tǒng)具備高并發(fā)、高彈性、可擴(kuò)展能力,但同時(shí)復(fù)雜的調(diào)度鏈、耦合的高可用機(jī)制也使得系統(tǒng)在特定場景下變得更加脆弱,帶來了新的故障模式,其脆弱性體現(xiàn)在:
- 系統(tǒng)邊界行為不可知:在突發(fā)場景中,系統(tǒng)不同機(jī)制耦合導(dǎo)致的系統(tǒng)行為不可預(yù)測;
- 級聯(lián)容量風(fēng)險(xiǎn):單一服務(wù)故障可能沿調(diào)用鏈放大其影響;
- 高可用機(jī)制的副作用:部分高可用機(jī)制(如重試)在極端情況下放大負(fù)載,加劇系統(tǒng)惡化;
圖片
圖片
2.雪崩并非突發(fā),而是「非穩(wěn)態(tài)」的必然結(jié)果
雪崩故障生命周期大致可劃分為四個(gè)階段:
- 系統(tǒng)進(jìn)入非穩(wěn)態(tài):此階段系統(tǒng)表面指標(biāo)正常,但系統(tǒng)已接近雪崩臨界點(diǎn),處于非穩(wěn)態(tài),任何一個(gè)擾動(dòng)都有可能使得系統(tǒng)越過臨界點(diǎn);
- 擾動(dòng)觸發(fā)雪崩:輕微擾動(dòng)(流量抖動(dòng)、網(wǎng)絡(luò)抖動(dòng)、緩存失效、小的故障等)導(dǎo)致系統(tǒng)跨越雪崩臨界點(diǎn),系統(tǒng)可用性進(jìn)入不可逆的死亡螺旋;
- 雪崩發(fā)展:此階段系統(tǒng)高可用機(jī)制相互作用形成正反饋環(huán)路,如可用性下降 → 重試 → 負(fù)載增加 → 可用性繼續(xù)下降的死亡螺旋;
- 徹底雪崩:此階段系統(tǒng)做無效計(jì)算,有效吞吐大幅下降,系統(tǒng)無法依靠自身恢復(fù),必須通過外力打破正反饋通路才能恢復(fù)系統(tǒng);
在快速且復(fù)雜的雪崩故障發(fā)展路徑中,雪崩觸發(fā)源事件并非雪崩的根本原因,而在于系統(tǒng)在多種機(jī)制耦合作用下的脆弱性、系統(tǒng)整體反饋強(qiáng)度越過了系統(tǒng)服務(wù)能力邊界。
圖片
圖片
圖片
圖片
3.理論模型:系統(tǒng)極限吞吐模型
為刻畫系統(tǒng)極限吞吐,基于 Little’s Law(利特法則) 構(gòu)建了系統(tǒng)吞吐約束模型。
圖片
在此模型下,每個(gè)微服務(wù)的吞吐上限由「線程并發(fā)度」和「請求延遲」共同決定。一旦局部延遲上升、線程被占滿,RPS 約束被打破,整個(gè)系統(tǒng)鏈路將進(jìn)入「正反饋不穩(wěn)定區(qū)」。
該模型被進(jìn)一步擴(kuò)展為將服務(wù)視為連續(xù)的「請求隊(duì)列 + 工作線程 + 后端依賴」三層結(jié)構(gòu),使得該模型可以在深調(diào)度鏈中適用。
圖片
4.微觀視角的系統(tǒng)雪崩過程
以「網(wǎng)關(guān) → 服務(wù) A → 服務(wù) B → 服務(wù) C」的典型調(diào)用鏈為例,當(dāng)服務(wù) C 出現(xiàn)延遲上升時(shí):
- 服務(wù) A 和 B 的線程利用率與延遲幾乎同時(shí)飆升,這是原始故障的直接傳導(dǎo)過程;
- 服務(wù) B 的隊(duì)列長度開始積壓,服務(wù) A 的隊(duì)列也出現(xiàn)同步增長,系統(tǒng)進(jìn)入隊(duì)列積壓階段;
- 由于 B 超時(shí),A 對 B 觸發(fā)重查,導(dǎo)致 B 負(fù)載進(jìn)一步上升,系統(tǒng)有效吞吐下降,進(jìn)入「反饋 - 惡化 - 反饋」的正反饋結(jié)構(gòu);
- 最終網(wǎng)關(guān)超時(shí),觸發(fā)對 A 的重查,B 上收到的流量進(jìn)一步增加,系統(tǒng)有效吞吐繼續(xù)下降,持續(xù)處于「反饋 - 惡化 - 反饋」的正反饋結(jié)構(gòu);
- 系統(tǒng)在這種「自我強(qiáng)化機(jī)制」下迅速走向無有效吞吐且不可自我恢復(fù),系統(tǒng)徹底崩潰;
圖片
以上所有過程可在數(shù)十秒內(nèi)完成,傳統(tǒng)的可用性手段已無法應(yīng)對如此快速的故障發(fā)展過程,抑制雪崩故障的關(guān)鍵在于抑制或打破此類指數(shù)級的反饋結(jié)構(gòu)。
5.防雪崩工程實(shí)踐 —— 讓系統(tǒng)「自愈」而非「被救」
早期預(yù)警:發(fā)現(xiàn)非穩(wěn)態(tài)
為了在雪崩發(fā)生前發(fā)現(xiàn)早期信號(hào),團(tuán)隊(duì)構(gòu)建了一套多層監(jiān)控體系,實(shí)時(shí)跟蹤系統(tǒng)健康指標(biāo),包括:
- 全鏈路失敗數(shù)與請求延遲分布;
- 隊(duì)列長度、線程使用率;
- 各關(guān)鍵服務(wù)的百分位延遲(P95/P99)。
這些指標(biāo)均以秒級粒度采集,并結(jié)合異常檢測模型進(jìn)行自動(dòng)告警,實(shí)現(xiàn)「秒級檢測、分鐘級處置」。
核心干預(yù)措施:抑制雪崩發(fā)展、加速雪崩退出
基于雪崩生命周期不同階段的特點(diǎn),建設(shè)了一套系統(tǒng)化的干預(yù)框架,從系統(tǒng)微觀機(jī)制層面改造反饋通路,抑制反饋強(qiáng)度,確保系統(tǒng)在常態(tài)下具有正常反饋,在故障場景下反饋強(qiáng)度適度。
- Retry Budget(重試預(yù)算)通過在 RPC 組件層實(shí)現(xiàn)全鏈路重試預(yù)算池,區(qū)分「直接重試」和「間接重試」,并為不同來源設(shè)定預(yù)算閾值。當(dāng)預(yù)算耗盡時(shí)自動(dòng)快速失敗,從機(jī)制層面抑制重查風(fēng)暴,系統(tǒng)重試流量從指數(shù)增長退化為線性增長。
- Queue Throttling(隊(duì)列節(jié)流)服務(wù)端請求隊(duì)列按優(yōu)先級劃分,擁塞時(shí)僅保留高優(yōu)任務(wù)。限流器根據(jù)實(shí)時(shí)處理速率自適應(yīng)調(diào)整放行,同時(shí)清除超時(shí)請求,避免隊(duì)列堵塞。
- Global TTL Control(全局 TTL 控制)每個(gè)請求自入口攜帶生命周期 TTL,沿調(diào)用鏈傳播并動(dòng)態(tài)遞減。當(dāng) TTL 耗盡時(shí),后續(xù)請求自動(dòng)終止,避免無效調(diào)用消耗寶貴計(jì)算資源。
- Multi-Dimensional Intervention(多層干預(yù)體系)當(dāng)系統(tǒng)檢測到關(guān)鍵指標(biāo)(P99 延遲、失敗率、線程利用率等)越界時(shí),觸發(fā)快速干預(yù)機(jī)制,包括跨 IDC 流量切換、系統(tǒng)內(nèi)部流量裁剪、服務(wù)策略裁剪、動(dòng)態(tài)砍超時(shí)重查。通過「秒級決策 + 自動(dòng)執(zhí)行」實(shí)現(xiàn)系統(tǒng)自愈。
上述機(jī)制的設(shè)計(jì)理念是:不試圖消除反饋結(jié)構(gòu),而是控制反饋強(qiáng)度。
圖片
圖片
圖片
圖片
6.結(jié)語
歷經(jīng)體系化治理,百度搜索已實(shí)現(xiàn)大規(guī)模微服務(wù)體系的穩(wěn)定性躍升。通過微觀機(jī)制改造、預(yù)案建設(shè)并經(jīng)生產(chǎn)環(huán)境驗(yàn)證,百度在過去多個(gè)季度中消除了系統(tǒng)雪崩事件。
本次 SREcon25 的主題分享,不僅展現(xiàn)了團(tuán)隊(duì)在微服務(wù)可靠性與韌性架構(gòu)領(lǐng)域的系統(tǒng)化研究成果,也向國際同行展示了百度工程團(tuán)隊(duì)在大規(guī)模系統(tǒng)穩(wěn)定性治理上的深厚積累與方法論創(chuàng)新。
未來,運(yùn)維部與搜索架構(gòu)部將繼續(xù)深耕自治運(yùn)維、穩(wěn)定性建模與智能化自愈機(jī)制的研究,攜手全球 SRE 社區(qū),共同推動(dòng)可靠性工程從經(jīng)驗(yàn)驅(qū)動(dòng)走向科學(xué)驅(qū)動(dòng),為 AI 時(shí)代的基礎(chǔ)設(shè)施穩(wěn)定性奠定堅(jiān)實(shí)基石。


















