chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

規(guī)?;煦绻こ腆w系建設及AI融合探索

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

掃碼添加小助手

加入工程師交流群

1、何謂混沌工程?

混沌工程由 Netflix 率先提出并應用,其業(yè)務高度依賴分布式系統(tǒng),為確保系統(tǒng)在面對各種故障時仍能穩(wěn)定運行,其組織開發(fā)了混沌工程工具集 ——Chaos Monkey 等,通過隨機地關(guān)閉生產(chǎn)環(huán)境中的服務器來驗證系統(tǒng)彈性。

混沌工程是一種在分布式系統(tǒng)上進行實驗的方法,目的是提升系統(tǒng)的彈性和穩(wěn)定性。它通過主動向系統(tǒng)注入故障,觀察系統(tǒng)在各種壓力情況下的行為,以發(fā)現(xiàn)系統(tǒng)中的潛在問題并加以改進。

2、混沌工程實驗的核心原則

a、建立穩(wěn)定性指標

建立系統(tǒng)穩(wěn)定性指標,是觀測混沌工程實驗效果的關(guān)鍵手段。在混沌工程啟動前,必須明確系統(tǒng)穩(wěn)定性狀態(tài)的定義,穩(wěn)定性狀態(tài)可以是系統(tǒng)的技術(shù)指標、業(yè)務指標或用戶體驗指標等。例如,系統(tǒng)TP99指標范圍、可用率指標范圍、頁面響應時間范圍、訂單處理成功率范圍等。

b、多樣化故障注入

多樣化的故障注入,是驗證系統(tǒng)故障應急能力的前提?;煦绻こ虘M可能模擬真實世界中可能發(fā)生的各種故障或異常情況。包括不限于,硬件故障、軟件故障、網(wǎng)絡故障、人為錯誤等。例如,服務器宕機、網(wǎng)絡延遲、數(shù)據(jù)庫故障、配置錯誤等。

c、生產(chǎn)環(huán)境接納度

生產(chǎn)環(huán)境對演練實驗的接納度,是確保故障演練實驗精度和有效性的基礎要素?;煦绻こ虒嶒炞詈迷谏a(chǎn)環(huán)境中進行,因為生產(chǎn)環(huán)境是最真實的系統(tǒng)運行環(huán)境,能夠反映出系統(tǒng)在實際使用中的各種情況。當然,在生產(chǎn)環(huán)境中進行實驗務必謹慎操作,確保實驗不會對生產(chǎn)運營及用戶造成不良影響。

d、常態(tài)化運轉(zhuǎn)

混沌工程實驗的常態(tài)化運轉(zhuǎn),是確保系統(tǒng)健壯性得以持續(xù)鞏固的基礎。混沌工程實驗應該持續(xù)自動化運行,以便及時發(fā)現(xiàn)系統(tǒng)中的潛在問題。自動化實驗可以定期進行,也可以在系統(tǒng)發(fā)生變化時進行。通過持續(xù)自動化運行實驗,可以不斷提高系統(tǒng)的彈性和穩(wěn)定性。

3、混沌工程實驗的關(guān)鍵步驟及落地

快遞快運技術(shù)部,自2024年11月起,針對分揀揀攬派及C端、B端核心業(yè)務線,0-1落地研測聯(lián)動紅藍攻防機制,完成共兩輪,87個核心接口架構(gòu)分析,覆蓋31個核心應用(79個場景),識別攔截5類36處風險(監(jiān)控、流程、代碼、預案、依賴),持續(xù)鞏固快快應急預案體系,在此基礎上,25年持續(xù)推動演練線上化實踐、成熟度評估體系建設、落地及能力升維。

a、實驗范圍圈定

通過對核心系統(tǒng)的架構(gòu)分析,梳理系統(tǒng)鏈路的關(guān)鍵指標(系統(tǒng)規(guī)模、SLA及限流指數(shù)等)和關(guān)鍵依賴(應用、存儲及其他中間件),明確要進行實驗的系統(tǒng)或服務范圍,標記故障注入點。

實驗范圍可以是一個或多個單體應用、某個業(yè)務場景下的應用鏈路、某個數(shù)據(jù)中心或整個分布式系統(tǒng)。

b、穩(wěn)定性指標定義

定義明確的穩(wěn)定性指標,用以衡量系統(tǒng)在實驗過程中的狀態(tài),穩(wěn)定性指標可以是技術(shù)監(jiān)控指標、業(yè)務監(jiān)控指標或用戶體驗指標等。

1)技術(shù)監(jiān)控指標

技術(shù)監(jiān)控指標,一般從技術(shù)視角監(jiān)控系統(tǒng)穩(wěn)定性,通常分為幾個維度監(jiān)控。

指標名稱 指標描述
UMP(JD術(shù)語) 監(jiān)控方法調(diào)用的TP99,響應時間等
日志異常關(guān)鍵字 監(jiān)控日志中的,有無異常關(guān)鍵字,報錯信息等
容器指標監(jiān)控 監(jiān)控CPU,數(shù)據(jù)庫等使用情況是否有異常
調(diào)用鏈監(jiān)控 監(jiān)控整個上下游調(diào)用鏈路,是否有可用率下降等問題
JVM監(jiān)控 監(jiān)控內(nèi)存,線程等使用情況

2)業(yè)務監(jiān)控指標

業(yè)務監(jiān)控指標,是整個監(jiān)控體系的“頂層”,能夠直接反映用戶使用業(yè)務的真實情況。在快遞快運分揀業(yè)務域,體現(xiàn)如下(例如,發(fā)貨環(huán)節(jié),設置【發(fā)貨環(huán)節(jié)成功率】作為監(jiān)控指標,通過配置規(guī)則:當前時間的發(fā)貨成功數(shù)據(jù)與上周同比下降超過30%,如果5分鐘內(nèi)連續(xù)出現(xiàn)3次告警,則觸發(fā)嚴重級別的告警)。

?

wKgZPGfs36uANLsDAATLYf72bfM371.png

c、實驗場景構(gòu)建

根據(jù)系統(tǒng)的架構(gòu)及技術(shù)特點,以及可能出現(xiàn)的故障情況,參考設計各種實驗場景。實驗場景應該盡可能地模擬真實世界中可能發(fā)生的各種故障和異常情況(可參考 歷史存量線上故障)。

故障分類 描述
服務器硬件故障 模擬服務器 CPU、內(nèi)存、硬盤等硬件組件故障。例如,通過設置硬件監(jiān)控軟件模擬 CPU 使用率瞬間達到 100%,或模擬內(nèi)存出現(xiàn)壞塊導致部分內(nèi)存無法正常讀寫,又或者模擬硬盤空間滿溢,影響應用數(shù)據(jù)存儲和讀取
網(wǎng)絡設備故障 包括網(wǎng)絡交換機、路由器故障。如設置網(wǎng)絡交換機某個端口故障,造成部分服務器網(wǎng)絡連接中斷;模擬路由器丟包,導致應用網(wǎng)絡通信延遲或數(shù)據(jù)傳輸錯誤
操作系統(tǒng)故障 如操作系統(tǒng)內(nèi)核崩潰、系統(tǒng)資源耗盡(如文件描述符用盡)。可通過編寫腳本消耗系統(tǒng)資源,觸發(fā)文件描述符不足的情況,觀察應用在這種操作系統(tǒng)故障下的表現(xiàn)
應用程序自身故障 例如代碼邏輯錯誤導致空指針異常、內(nèi)存泄漏、死鎖等??梢栽趹么a中特定位置人為插入引發(fā)空指針異常的代碼片段,進行局部模擬;對于內(nèi)存泄漏,可通過工具模擬對象未正確釋放內(nèi)存的情況;通過編寫存在競爭條件的代碼模擬死鎖場景
中間件故障 若應用使用數(shù)據(jù)庫中間件、消息隊列中間件等,可模擬中間件故障。比如數(shù)據(jù)庫中間件連接池耗盡,導致應用無法獲取數(shù)據(jù)庫連接;消息隊列中間件消息堆積、消息丟失等。以數(shù)據(jù)庫中間件為例,可通過修改配置參數(shù),限制連接池大小,快速創(chuàng)建大量數(shù)據(jù)庫連接請求,使連接池耗盡
高并發(fā)壓力 利用性能測試工具模擬大量用戶同時訪問應用,造成系統(tǒng)負載過高。例如,使用 JMeter 模擬每秒數(shù)千個并發(fā)請求,測試應用在高并發(fā)場景下的穩(wěn)定性和故障應對能力
環(huán)境變量錯誤 修改應用運行所需的環(huán)境變量,如配置錯誤的數(shù)據(jù)庫連接字符串、錯誤的系統(tǒng)路徑等,觀察應用能否正確識別并處理這些錯誤

1)一般場景構(gòu)建

①CPU使用率(單個故障場景樣例及核心參數(shù)解釋)

?演練目的:CPU混沌實驗用于在主機模擬CPU負載情況,通過搶占CPU資源,模擬CPU在特定負載情況下,驗證其對服務質(zhì)量、監(jiān)控告警、流量調(diào)度、彈性伸縮等應用能力的影響。

?核心參數(shù)解釋

?使用率:根據(jù)研發(fā)配置的MDC告警閾值決定(例:研發(fā)配置60%。80%-90%)

?搶占模式:故意運行占用大量 CPU 資源的進程,使得系統(tǒng)的 CPU 使用率飆升,從而觀察其他服務和進程在資源競爭下的表現(xiàn)。(勾選代表打開該模式)

?滿載核數(shù):核心滿載個數(shù)(如果一個系統(tǒng)在正常運行時很少有核心達到滿載,但在混沌工程測試中有多個核心持續(xù)滿載,那么可能表明系統(tǒng)在極端情況下的資源分配存在問題,或者系統(tǒng)并沒有正確地平衡負載。)

?滿載核索引:每個 CPU 核心在操作系統(tǒng)中都有一個唯一的索引號,這些索引號通常從 0 開始計數(shù)。(例:0,1 / 0-2) 參數(shù)優(yōu)先級:使用率 > 滿載核數(shù) > 滿載核索引 建議:第一次演練優(yōu)先使用【使用率】

②更多場景及選型原則:混沌工程-故障演練場景選型及實施說明?

2)復雜場景構(gòu)建

①單應用單故障場景“多參數(shù)”組合構(gòu)建

場景構(gòu)建說明

構(gòu)建參數(shù) 故障類型
接口參數(shù):請求類型(GET/POST)、數(shù)據(jù)格式(JSON/XML)、請求體大小(1KB/10KB) 資源耗盡(CPU / 內(nèi)存)
配置參數(shù):線程池大?。?/10)、超時閾值(1s/5s)、緩存 TTL(30s/60s) 網(wǎng)絡異常(延遲 / 丟包)
環(huán)境參數(shù):CPU 利用率(50%/80%)、內(nèi)存占用(60%/90%)、網(wǎng)絡延遲(100ms/500ms) 數(shù)據(jù)異常(錯誤碼 / 空值)

(場景樣例)連接庫請求延遲&業(yè)務的異常流量注入

?場景描述:依據(jù)場景構(gòu)建的基本原則,我們在構(gòu)建數(shù)據(jù)庫請求延遲的情況前提下,向系統(tǒng)注入帶有異常業(yè)務數(shù)據(jù)的流量,以檢查應急預案對應的處理能力。

攻擊接口 http://xxxxx.forcebot.jdl.com/services/xxxxx/getWaybillChute
攻擊步驟 預期結(jié)果 結(jié)論
10*10個QPS將壓測流量灌入(正常流量) 事務成功率100% pass
植入故障,觀察(故障占比:80%,A分組5臺打掛,B分組3臺打掛) 5分鐘內(nèi)觸發(fā)數(shù)據(jù)庫請求告警,守方報備到備戰(zhàn)群 pass
調(diào)節(jié)壓測流量,QPS增加到60*10(值逐步增加) 服務可用率降低,TP99上升 pass
調(diào)節(jié)壓測流量,QPS增加到80*10(值逐步增加) 服務可用率降低,TP99上升 pass
觀察到守方通過防守動作止損 較長時間內(nèi)服務沒起來 事務成功率100%,連接數(shù)據(jù)庫請求正常,TP99恢復正常(TCP重傳、數(shù)據(jù)庫連接、下線機器、擴容) pass
停止故障任務 集群下所有機器事務成功率100%,CPU使用率60%以下,TP99恢復正常,連接數(shù)據(jù)庫請求正常 pass
停止壓測腳本 流量停止灌入 pass

②單應用多故障場景組合構(gòu)建

?場景構(gòu)建說明:可參考如下組合方式,構(gòu)建單應用多故障場景。

組合方式 組合描述
基于故障影響范圍組合 局部與全局故障組合:先設置一個局部故障,如某個模塊的代碼邏輯錯誤導致該模塊功能不可用,同時再設置一個影響全局的故障,如服務器內(nèi)存耗盡,使整個應用運行緩慢甚至崩潰。這樣可以測試應用在局部問題和整體資源危機同時出現(xiàn)時的應對策略
上下游故障組合:如果應用存在上下游依賴關(guān)系,模擬上游服務故障(如數(shù)據(jù)提供方接口異常)與下游服務故障(如數(shù)據(jù)存儲服務不可用)同時發(fā)生
基于故障發(fā)生時間順序組合 先后發(fā)生故障組合:設定故障按特定順序出現(xiàn)。比如,先模擬網(wǎng)絡短暫中斷,導致部分數(shù)據(jù)傳輸失敗,緊接著由于數(shù)據(jù)處理異常,引發(fā)應用內(nèi)部的緩存雪崩問題。通過這種順序組合,測試應用在連鎖故障場景下的恢復能力和數(shù)據(jù)一致性
周期性故障組合:設置周期性出現(xiàn)的故障,如每隔一段時間(如 10 分鐘)網(wǎng)絡出現(xiàn)一次短暫擁塞,在擁塞期間,同時出現(xiàn)應用程序的內(nèi)存泄漏問題逐漸加重。這種組合可以觀察應用在長期面對周期性故障和持續(xù)惡化的內(nèi)部故障時的表現(xiàn)
基于業(yè)務流程關(guān)鍵節(jié)點組合 核心業(yè)務流程故障組合:針對應用的核心業(yè)務流程設置故障。以在線支付流程為例,在用戶輸入支付信息階段,模擬輸入校驗模塊出現(xiàn)故障,接受錯誤格式的支付信息;同時在支付確認階段,模擬與支付網(wǎng)關(guān)通信故障,測試支付流程在多個關(guān)鍵節(jié)點故障下的健壯性
業(yè)務高峰與故障組合:結(jié)合業(yè)務使用高峰時段,疊加多種故障。例如,一個視頻播放應用在晚上用戶觀看高峰期,同時出現(xiàn)服務器 CPU 負載過高、視頻源文件損壞、CDN 節(jié)點故障等多種故障,測試應用在高業(yè)務壓力和復雜故障環(huán)境下能否保障用戶基本體驗

(場景樣例)核心依賴中間件MySQL請求延遲&CPU使用率增加場景

?場景描述:該場景主要在單應用模式下,在數(shù)據(jù)庫和CPU維度,參考故障的一般發(fā)生順序,進行組合注入,并同步觀察系統(tǒng)恢復能力。

?實際執(zhí)行層面,在植入CPU使用率和數(shù)據(jù)庫延遲故障時,預期觸發(fā)CPU和接口可用利率告警,但實際情況中,CPU告警按預期觸發(fā),但接口可用率報警并未觸發(fā)。

攻擊接口 com.jdl.xxxxx.xxxxx.api.gather.xxxxx#queryWayGather
攻擊步驟 預期結(jié)果 結(jié)論
20個QPS將流量灌入對應機器(接口單機線上最大QPS 66) 事務成功率100% pass
植入故障1【cpu 使用率70%+MYSQL延遲2000ms】 期望:觸發(fā)cpu告警,觸發(fā)接口可用率告警 fail
觀察到守方通過防守動作止損 事務成功率100%,CPU使用率60%以下,TP99恢復正常 pass
植入故障2【針對擴容新增機器 植入cpu 使用率70%】 新機器持續(xù)cpu告警,持續(xù)擴容,保證分組下集群數(shù)量 pass
觀察到守方通過防守動作止損 集群下所有機器事務成功率100%,CPU使用率60%以下,TP99恢復正常 pass
調(diào)節(jié)壓測流量,QPS增加到1980(線上峰值3倍) 服務可用率降低,CPU使用率持續(xù)增加,TP99上升 觸發(fā)方法調(diào)用次數(shù)告警 pass
停止壓測腳本 流量停止灌入 pass

③多應用多故障場景組合構(gòu)建

場景構(gòu)建說明:多應用多故障場景的構(gòu)建,可基于單應用單故障的場景進行組合,可參考如下組合方式。目前針對該類型場景還未進行覆蓋,后續(xù)基于上下游系統(tǒng)的架構(gòu)分析和調(diào)用關(guān)系,進行組合。如應用A調(diào)用應用B,在給應用A植入故障的同時,B應用也進行故障植入。

組合方式 組合描述
基于業(yè)務流程的組合 串聯(lián)業(yè)務流程故障組合:業(yè)務場景 A發(fā)生一個故障,同時業(yè)務場景B也發(fā)生也一個故障,同時 A和B 是不同應用,業(yè)務流程串聯(lián)
并發(fā)業(yè)務流程故障組合:業(yè)務場景 A發(fā)生一個故障,同時業(yè)務場景B也發(fā)生也一個故障,同時 A和B 是不同應用,業(yè)務流程并發(fā)
基于故障影響范圍的組合 局部與全局故障組合:局部故障可以是某個內(nèi)部使用的特定應用出現(xiàn)功能故障,全局故障則可以是影響整個企業(yè)的網(wǎng)絡故障或核心數(shù)據(jù)庫故障
關(guān)鍵與非關(guān)鍵應用故障組合設置故障場景為核心業(yè)務系統(tǒng)出現(xiàn)數(shù)據(jù)庫連接池耗盡的故障,非核心應用發(fā)生另一個故障
基于故障發(fā)生時間順序的組合 先后發(fā)生故障組合:先設置一個應用的故障,待其產(chǎn)生一定影響后,再觸發(fā)另一個應用的故障
周期性故障組合:設置某些故障周期性出現(xiàn),如每隔一段時間(如每天凌晨)出現(xiàn)故障A,同時,在每周的特定時間段(如周五下午業(yè)務高峰時段)出現(xiàn)故障B,組合參考

?

3)計劃外場景構(gòu)建

故障演練計劃外場景通常是指在沒有預先計劃或通知的情況下,模擬系統(tǒng)或服務出現(xiàn)故障的情境,以測試和提高系統(tǒng)的可靠性和團隊的應急響應能力。其主要特點包括:突發(fā)性、真實感、壓力測試、團隊協(xié)作。以下是在研發(fā)毫無防備的情況,進行的一次突襲式的故障演練例子:

混沌工程與傳統(tǒng)的故障引入測試,在注入場景和工具使用方面存在重疊。故障注入測試,是混沌工程實驗的一種驗證策略。 其本質(zhì)區(qū)別,是思維方式的差異 ,故障注人測試是通過已知故障和應急預案,確認系統(tǒng)對已知風險的承載能力。而混沌工程,是通過構(gòu)造諸如應急預案范圍外的故障場景,確認系統(tǒng)對未知風險的承載能力。

(場景樣例)JAVA進程線程池滿(未在演練劇本內(nèi)的故障,觀察系統(tǒng)應急能力)

通常在劇本評審階段,測試團隊會與架構(gòu)團隊完成全量場景評估,同時會提取部分場景,在約定演練時間計劃外執(zhí)行,研發(fā)團隊對此類故障的執(zhí)行計劃不知情,以此強化驗證其應急處理能力。

例如:在某計劃外場景演練過程中,發(fā)現(xiàn)2個問題,①當植入JAVA進程線程池滿的故障時,預期觸發(fā)CPU告警,研發(fā)團隊并未第一時間同步報備。②在故障停止時,預期所有機器及事務恢復正常,并由研發(fā)接口人報備同步恢復信息,但研發(fā)團隊并未第一時間同步報備。

由此可見,計劃外的場景,在識別系統(tǒng)應急能力之外,可更多反映研發(fā)團隊,在故障處理過程中的組織協(xié)同能力。

演練執(zhí)行
攻擊接口 com.jdl.xxxxx.resource.api.message.xxxxx#isNeedVerificationCode
攻擊步驟 預期結(jié)果 結(jié)論
1個QPS將流量灌入對應機器 事務成功率100% pass
植入JAVA進程線程池滿故障,觀察 10分鐘內(nèi)觸發(fā)CPU使用率告警,守方報備到備戰(zhàn)群,業(yè)務全部失敗 fail
故障生效后立即調(diào)節(jié)壓測流量,QPS增加到10筆/s(日常量) 服務可用率降低,CPU使用率持續(xù)增加,TP99上升 pass
觀察到守方通過防守動作止損 集群下所有機器事務成功率100%,CPU使用率60%以下,TP99恢復正常 pass
停止故障任務 集群下所有機器事務成功率100%,CPU使用率60%以下,TP99恢復正常 fail
停止壓測腳本 流量停止灌入 pass

?

4)流量沖擊融合場景構(gòu)建

?系統(tǒng)在故障發(fā)生時,例如,C端用戶在響應卡滯情況下,如系統(tǒng)未給予明確的故障提示、降級方案或恢復預期,往往會通過重復操作,確認系統(tǒng)恢復進展,請求量存在倍增可能。

?后端平臺類系統(tǒng)對接,請求方往往會通過自動重試,嘗試重建成功請求,同時在長鏈路業(yè)務場景下,如鏈路各應用重試策略未統(tǒng)一,請求量存在倍增可能。以上,在故障恢復過程中,已部分恢復的服務,大概率會被倍增流量快速擊潰,造成系統(tǒng)可用性雪崩。有必要通過融合流量沖擊場景的混沌實驗,確認系統(tǒng)的極端風險承載能力。

(場景樣例)應用CPU滿載混合單機流量激增

?場景描述:在CPU滿載的情況下,模擬接口流量激增。首先植入CPU滿載,再調(diào)節(jié)注入流量,觀察整個處理過程。

演練執(zhí)行
攻擊接口 整個應用
攻擊步驟 預期結(jié)果 結(jié)論
小流量注入 事務成功率100% pass
植入故障CPU占用率80%,植入比例:70%,觀察 CPU滿載,5分鐘內(nèi)觸發(fā)CPU使用率告警,守方報備到備戰(zhàn)群 pass
調(diào)節(jié)壓測流量,單機QPS增加到1倍壓測流量(梯度),單機CPU占有率>60% CPU使用率持續(xù)增加,TP99上升 pass
調(diào)節(jié)壓測流量,單機QPS增加到2倍壓測流量(梯度),單機CPU占有率>80% CPU使用率持續(xù)增加,TP99上升 pass
觀察到守方通過防守動作止損 事務成功率100%,CPU使用率60%以下,TP99恢復正常 pass
觀察到守方通過防守動作止損 集群下所有機器事務成功率100%,CPU使用率60%以下,TP99恢復正常 pass
停止故障任務 集群下所有機器事務成功率100%,CPU使用率60%以下,TP99恢復正常 pass
停止壓測腳本 流量停止注入 pass

d、實驗劇本構(gòu)建

1)劇本設計詳解

故障注入過程,尤其是在生產(chǎn)或準生產(chǎn)環(huán)境實驗,未經(jīng)評估的故障場景,極易造成線上生產(chǎn)異動,對實驗方案的嚴謹性以及人員的專業(yè)性,提出了更高的要求。實驗劇本構(gòu)建主要包括以下幾個要素。

劇本構(gòu)建核心要素 關(guān)鍵事項 準入標準 準出標準
明確實驗目標 ·定義實驗目的:識別實驗的核心目的,例如提高系統(tǒng)的彈性、驗證故障處理機制、評估服務降級策略等。 ·選擇關(guān)鍵性能指標(KPIs):確定用于評估實驗結(jié)果的關(guān)鍵性能指標,如系統(tǒng)的響應時間、可用性、吞吐量、錯誤率等。 ·設定具體目標:制定具體的、可衡量的目標。例如,“在網(wǎng)絡延遲增加的情況下,系統(tǒng)響應時間不超過2秒”。 ·業(yè)務影響考量:確保實驗目標與業(yè)務目標相一致,評估實驗對業(yè)務連續(xù)性和用戶體驗的潛在影響。 ·團隊準備:確保參與實驗的團隊成員了解實驗目的、流程和應急響應計劃。 ·確保業(yè)務影響最小化:制定策略,確保實驗不會對關(guān)鍵業(yè)務功能造成重大影響??梢酝ㄟ^選擇非高峰時段進行實驗或在實驗前進行業(yè)務影響評估。 ·風險識別:系統(tǒng)地識別實驗可能帶來的所有潛在風險,包括對系統(tǒng)穩(wěn)定性、數(shù)據(jù)完整性和業(yè)務連續(xù)性的影響。 ·設定實驗范圍和條件:明確實驗的范圍(例如哪些服務或組件會受到影響)和條件(例如故障的持續(xù)時間、強度等)。
選擇故障場景 ·識別潛在故障:通過對系統(tǒng)架構(gòu)、依賴關(guān)系和歷史故障記錄的分析,識別潛在的故障類型。包括網(wǎng)絡延遲、服務宕機、資源耗盡、數(shù)據(jù)庫故障、磁盤故障,超時、服務不存活等。 ·優(yōu)先級排序:根據(jù)故障對業(yè)務的影響程度進行排序。優(yōu)先選擇那些對關(guān)鍵業(yè)務流程影響較大的故障;考慮故障發(fā)生的可能性,優(yōu)先演練那些較高概率發(fā)生的故障。 ·場景細化:將故障場景具體化,包括故障的觸發(fā)條件、影響范圍和預期結(jié)果;考慮組合多個故障場景,模擬復雜環(huán)境下的系統(tǒng)行為。 ·場景驗證:確保所選故障場景經(jīng)過驗證,可以在實驗環(huán)境中安全地注入和控制。 ·團隊準備:團隊成員應了解故障場景的細節(jié)、實驗步驟和應急響應計劃。 ·審批流程:實驗需要獲得相關(guān)方的批準,特別是涉及到關(guān)鍵業(yè)務系統(tǒng)時。 ·可行性完成:評估故障場景的實施難度,包括技術(shù)可行性和資源需求,確保實驗能夠在現(xiàn)有條件下順利進行。 ·影響評估完成:預估故障場景可能對系統(tǒng)和用戶造成的影響,并確保其在可控范圍內(nèi),避免對生產(chǎn)環(huán)境造成嚴重影響。
設計實驗方案 ·場景描述:詳細描述每個故障場景,包括故障類型、注入方式和預期影響。 ·步驟規(guī)劃:制定實驗的具體步驟,包括故障注入的時間、地點和方式。 ·成功標準:定義實驗的成功標準,即在故障條件下系統(tǒng)應達到的性能水平。 ·風險評估:完成對實驗的風險評估,識別可能的風險和影響,并制定相應的緩解措施。 ·團隊準備:團隊成員已接受必要的培訓,了解實驗步驟、應急響應計劃和溝通渠道。 ·溝通計劃:確保所有相關(guān)方已被告知實驗的時間、范圍和可能的影響,并制定溝通計劃以便在實驗過程中及時更新信息。 ·方案風險評估完成:評估實驗對系統(tǒng)和用戶的實際影響,確保實驗沒有導致不可接受的中斷或損害。
風險評估與應急預案 ·風險識別:識別實驗可能帶來的風險,包括對系統(tǒng)穩(wěn)定性和業(yè)務運營的影響。 ·應急預案:制定緩解措施,如快速回滾計劃和應急響應方案。 ·風險識別:系統(tǒng)地識別實驗可能帶來的所有潛在風險,包括對系統(tǒng)穩(wěn)定性、數(shù)據(jù)完整性和業(yè)務連續(xù)性的影響。 ·應急響應計劃:制定詳細的應急響應計劃,明確角色和責任,以便在實驗過程中快速響應任何突發(fā)問題。 ·審批和溝通:風險評估報告和緩解計劃需要獲得相關(guān)方的審核和批準。確保所有相關(guān)方都了解可能的風險和緩解措施。 ·風險評估完成:完成對實驗風險的評估,并制定相應的應急預案。
實驗環(huán)境準備 ·環(huán)境搭建:準備實驗環(huán)境,確保其與生產(chǎn)環(huán)境盡可能相似,以提高實驗結(jié)果的可靠性。 ·工具配置:配置必要的故障注入和監(jiān)控工具,確保能夠?qū)崟r收集和分析數(shù)據(jù)。 ·環(huán)境驗證:驗證實驗環(huán)境的準備情況,包括配置、數(shù)據(jù)和工具的可用性。 ·溝通確認:確認所有相關(guān)方(如開發(fā)、運維、業(yè)務團隊)已收到實驗通知并同意進行實驗。 ·環(huán)境隔離:確保實驗環(huán)境與生產(chǎn)環(huán)境適當隔離(成熟度高的可以不隔離),以避免實驗對生產(chǎn)系統(tǒng)造成不必要的影響。 ·環(huán)境一致性:驗證實驗環(huán)境的配置與生產(chǎn)環(huán)境盡可能一致,包括硬件、軟件版本、網(wǎng)絡配置等,以確保實驗結(jié)果的可用性和相關(guān)性。 ·資源可用性:確保實驗所需的所有資源(如計算資源、存儲、網(wǎng)絡帶寬)已準備就緒,并能夠支持實驗的順利進行。
實驗執(zhí)行與數(shù)據(jù)分析 ·實時監(jiān)控:在實驗過程中,實時監(jiān)控系統(tǒng)狀態(tài)和關(guān)鍵指標,確保能夠快速識別和響應異常情況。 ·故障注入:按照實驗方案注入故障,觀察系統(tǒng)的反應。 ·數(shù)據(jù)收集:收集實驗期間的所有相關(guān)數(shù)據(jù),包括日志、監(jiān)控指標和用戶反饋。 ·結(jié)果分析:分析實驗結(jié)果,評估系統(tǒng)在故障條件下的表現(xiàn),并識別改進機會。 ·風險評估完成:確保已進行全面的風險評估,識別潛在風險,并制定相應的緩解措施。 ·團隊準備就緒:所有相關(guān)團隊(如開發(fā)、運維、安全)已準備好,并了解各自的職責和應對措施。 ·應急計劃確認:確保應急計劃已制定并經(jīng)過驗證,所有團隊成員都清楚如何在緊急情況下快速恢復系統(tǒng)。 ·環(huán)境驗證:實驗環(huán)境已被驗證為與生產(chǎn)環(huán)境相似,并且所有必要的工具和配置已準備就緒。 ·溝通與批準:獲得所有相關(guān)方(包括管理層和業(yè)務團隊)的批準,確保他們了解實驗計劃和可能的影響。 ·監(jiān)控和日志系統(tǒng)在線:確保監(jiān)控和日志系統(tǒng)正常運行,以便實時追蹤實驗過程中系統(tǒng)的狀態(tài)和行為。 ·實驗結(jié)果評估:對照預定的成功標準評估實驗結(jié)果,確保實驗目標已實現(xiàn)。 ·系統(tǒng)恢復確認:確保系統(tǒng)已恢復到正常運行狀態(tài),所有故障注入的影響已完全消除。 ·數(shù)據(jù)完整性驗證:檢查實驗期間的數(shù)據(jù)完整性,確保沒有數(shù)據(jù)丟失或損壞。 ·報告生成:生成詳細的實驗報告,包括實驗過程、結(jié)果、發(fā)現(xiàn)的問題和改進建議。 ·經(jīng)驗總結(jié)與分享:召開經(jīng)驗總結(jié)會議,分享實驗中的經(jīng)驗教訓,并更新相關(guān)的操作文檔和策略。 ·后續(xù)行動計劃:確定并記錄需要改進的領域和后續(xù)行動計劃,以提升系統(tǒng)的彈性和可靠性。
復盤與成熟度評估 ·報告撰寫:撰寫詳細的實驗報告,記錄實驗過程、結(jié)果和發(fā)現(xiàn)的問題。 ·改進計劃:根據(jù)實驗結(jié)果制定系統(tǒng)改進計劃,并計劃后續(xù)步驟。 ·知識共享:將實驗結(jié)果和經(jīng)驗教訓分享給相關(guān)團隊,促進組織內(nèi)部的知識積累。 ·復盤會議:召開復盤會議,討論實驗中的亮點和不足,優(yōu)化未來的實驗流程。 ·成熟度改進:評估被演練系統(tǒng)服務成熟度。 ·數(shù)據(jù)完整性:確保所有相關(guān)數(shù)據(jù)和日志已收集完畢,并且數(shù)據(jù)質(zhì)量足以支持有效分析。 ·參與者準備:確保所有關(guān)鍵參與者(如開發(fā)、運維、安全團隊成員)已準備好參與復盤會議,并了解實驗的背景和結(jié)果。 ·目標明確:復盤的目標和預期成果已明確,并傳達給所有參與者 ·成熟度評估:已完成對當前混沌工程實踐的成熟度評估,識別出需要改進的領域。 ·問題識別與分析:已識別并分析實驗中的所有關(guān)鍵問題和挑戰(zhàn)。 ·成功與不足記錄:記錄實驗中的成功經(jīng)驗和不足之處,并分析其原因。 ·改進措施制定:制定具體的改進措施和后續(xù)行動計劃,并獲得相關(guān)方的認可。 ·文檔更新:更新相關(guān)文檔,包括操作手冊、實驗報告和改進計劃。 ·經(jīng)驗分享:將復盤結(jié)果和經(jīng)驗分享給更廣泛的團隊或組織,以促進知識共享。

2)劇本構(gòu)建樣例

?故障演練方案-快遞快運-分揀條線-2024年12月?

e、工具選型

1)工具選型原則

①功能特性

?復雜場景構(gòu)建:對于復雜的分布式系統(tǒng),尤其是包含多種技術(shù)棧(如同時有微服務、數(shù)據(jù)庫、消息隊列等)的系統(tǒng),需要選擇能夠模擬多種故障類型的工具,以更全面地測試系統(tǒng)的彈性。

?實驗場景定制化:混沌工程工具應該允許用戶根據(jù)自己的系統(tǒng)特點和需求定制實驗場景,提供豐富的實驗模板,并可通過修改這些模板或編寫自己的實驗腳本來定制實驗。這種靈活性使得用戶能夠模擬特定的業(yè)務場景下可能出現(xiàn)的故障,如模擬電商系統(tǒng)在購物高峰期時數(shù)據(jù)庫查詢緩慢的情況。

?系統(tǒng)集成能力:實驗工具需要能夠與企業(yè)現(xiàn)有的系統(tǒng)和工具集成,如監(jiān)控系統(tǒng)、日志系統(tǒng)等。通過插件或者 API 的方式實現(xiàn)與其他系統(tǒng)的集成,增強工具的實用性。

②環(huán)境適配

?容器化基礎設施兼容性:隨著容器技術(shù)和 Kubernetes 的廣泛應用,混沌工程工具需要加強對以上基礎環(huán)境的支持,更充分地兼容 Kubernetes(Pod、Deployment、Service 等),并進行有效的故障注入。

?云平臺兼容性:對于部署在云平臺(如 京東云、阿里云、騰訊云、華為云、百度云、GCP、IBM Cloud、Oracle Cloud、AWS、Azure、Ali 等)上的系統(tǒng),需要考慮工具是否與這些云平臺兼容,是否能夠提供針對特定云平臺的故障模擬功能,。例如,AWS S3 存儲桶故障、Azure 虛擬機故障等特定故障情況,以適應云環(huán)境下的實驗需求。

?跨平臺支持:對于同時在多種操作系統(tǒng)(如 Linux、Windows、Android、IOS、MacOS 等)和硬件架構(gòu)(如 x86、ARM)上運行的系統(tǒng),確保所選工具能夠在所有相關(guān)平臺上正常工作,避免出現(xiàn)因平臺差異導致實驗無法進行的情況。

③易用性和學習成本

?用戶界面友好程度

?直觀、易于操作的用戶界面可以降低用戶的學習成本和操作難度。例如,Gremlin 有一個相對直觀的 Web 界面,用戶可以通過簡單的操作(如選擇故障類型、目標系統(tǒng)等)來設置和啟動實驗。對于非技術(shù)人員或者剛接觸混沌工程的團隊成員來說,這樣的界面更容易上手。

?文檔和社區(qū)支持

?完善的文檔和活躍的社區(qū)可以幫助用戶更快地學習和使用工具。工具的官方文檔應該包括詳細的安裝指南、實驗設置說明、故障模擬類型介紹等內(nèi)容。同時,一個活躍的社區(qū)可以讓用戶分享經(jīng)驗、解決問題,例如在開源的混沌工程工具社區(qū)中,用戶可以找到其他使用者分享的自定義實驗場景案例,幫助自己更好地開展實驗。

④安全性和可靠性

?實驗風險控制

?混沌工程工具在進行故障注入時可能會對生產(chǎn)系統(tǒng)造成一定的風險,因此需要選擇能夠有效控制實驗風險的工具。一些工具提供了諸如 “安全模式” 或 “沙箱模式” 的功能,在這些模式下,故障注入的強度和范圍可以得到限制,并且可以提前設置好終止實驗的條件,以確保在系統(tǒng)出現(xiàn)異常時能夠及時停止實驗,避免對生產(chǎn)系統(tǒng)造成嚴重破壞。

?工具自身的可靠性

?工具本身應該是可靠的,不會因為自身的故障而導致實驗結(jié)果不準確或者對系統(tǒng)造成額外的干擾。可以查看工具的版本更新記錄、用戶評價等信息來了解工具的可靠性情況。例如,經(jīng)過多個企業(yè)長時間使用且更新頻繁的工具,通常在可靠性方面有更好的保障。

2)業(yè)界混沌工程解決方案

在混沌工程實踐里,通過模擬各類故障場景,像是模擬服務器崩潰、制造網(wǎng)絡延遲,或是觸發(fā)數(shù)據(jù)丟失狀況等方式,能夠極為精準地挖掘出系統(tǒng)中潛藏的薄弱環(huán)節(jié)。目前,市面上既有開源性質(zhì)的解決方案,也不乏商業(yè)化的專業(yè)工具。接下來,我們將著重對京東(JD)的混沌解決方案,以及其他具有代表性的開源方案展開詳細介紹。

①JD泰山混沌工程平臺(快快技術(shù)-首選解決方案平臺)

?簡介:是一款遵循混沌工程原理和混沌實驗模型的實驗注入工具,幫助用戶檢驗系統(tǒng)高可用、提升分布式系統(tǒng)的容錯能力,平臺使用簡單、調(diào)度安全。是基于 ChaosBlade 底座進行打造,并增加了JIMDB、JSF、JED等中間件類故障場景,讓大家可以精細地控制演練影響范圍(爆炸半徑)。

?特點:支持多種類型的故障,如基礎資源故障:CPU、 內(nèi)存、網(wǎng)絡、磁盤、進程;Java進程故障:進程內(nèi)CPU滿載、內(nèi)存溢出、類方法延遲/拋異常/篡改返回值、MYSQL請求故障、JIMDB請求故障、JSF請求故障;JED集群故障:集群分片主從切換、集群分片節(jié)點重啟

?適用場景:適用于復雜分布式系統(tǒng)和微服務架構(gòu)中的故障模擬,另外針對JD特有的服務可支持故障植入。

②業(yè)界工具平臺及能力對標

平臺/能力 特點 適用場景
云原生計算基金會托管項目,專注于 Kubernetes 環(huán)境中進行混沌工程實踐,可編排多種混沌實驗 ·支持多種類型的故障注入,如 Pod 故障、網(wǎng)絡故障、文件系統(tǒng)故障、時間故障、壓力故障等 ·提供了直觀的 Web 界面 ChaosDashboard,方便用戶管理、設計和監(jiān)控混沌實驗 適用于云原生架構(gòu)下的系統(tǒng),幫助開發(fā)人員、運維人員在 Kubernetes 環(huán)境中測試應用程序和基礎設施的可靠性與穩(wěn)定性,如基礎資源故障,Java應用故障等
Kubernetes 原生的混沌工程開源平臺,以其強大的故障創(chuàng)建與編排能力著稱 ·擁有故障注入實驗市場 ChaosHub,提供大量可定制的實驗模板,支持多種故障注入類型,涵蓋通用、各大云平臺及 Spring Boot 等多種場景 ·可與 Prometheus 等可觀測性工具原生集成,方便監(jiān)控故障注入實驗的影響 適用于不同技術(shù)背景的團隊,在 Kubernetes 環(huán)境中進行混沌工程實踐,幫助識別系統(tǒng)中的弱點和潛在停機隱患。如可模擬存儲故障,CICD管道層面故障等
阿里巴巴開源的混沌工程工具,可針對主機基礎資源、容器、Kubernetes 平臺、Java 應用、C++ 應用、阿里云平臺及其他服務等多達 7 個場景開展故障注入實驗 ·支持在多種環(huán)境中進行故障注入,能夠模擬各種復雜的故障場景,如 CPU 滿載、內(nèi)存泄漏、網(wǎng)絡延遲等資源層面的故障,還能深入到應用層對特定方法進行故障注入 ·具有易用性和靈活性,通過簡單的 CLI 命令行工具進行故障注入 ·支持動態(tài)加載和無侵入式的實驗設計 適用于復雜分布式系統(tǒng)和微服務架構(gòu)中的故障模擬,幫助團隊提前發(fā)現(xiàn)系統(tǒng)中的薄弱環(huán)節(jié)。能夠模擬一些中間件的故障,如云原生故障等
輕量級、靈活且易于集成的混沌工程工具,允許用戶以聲明式的方式定義各種故障注入場景 ·支持使用 YAML 文件定義混沌實驗,內(nèi)置多種故障模型,如 Pod Kill、Network Latency、Disk IO Stress 等 ·深度集成 Kubernetes,提供友好的 Web 界面和 RESTful API,方便操作與集成 適用于開發(fā)者和運維人員在 Kubernetes 環(huán)境中進行混沌工程實驗,可作為新功能上線前的測試、持續(xù)集成 / 持續(xù)交付流程的一部分,以及故障恢復訓練等
功能全面的混沌工程工具,提供了直觀的 Web 界面,可模擬多種故障場景,包括服務器故障、網(wǎng)絡延遲、丟包、數(shù)據(jù)庫故障、容器故障等 ·具備強大的故障模擬能力和靈活的實驗配置選項,可與多種監(jiān)控和日志工具集成,方便用戶在實驗過程中觀察系統(tǒng)的狀態(tài)變化 ·提供了 “安全模式” 或 “沙箱模式” 等風險控制功能,確保實驗的安全性 適用于各種規(guī)模和架構(gòu)的分布式系統(tǒng),幫助企業(yè)提升系統(tǒng)的彈性和穩(wěn)定性,尤其適合對安全性和風險控制要求較高的生產(chǎn)環(huán)境
亞馬遜推出的混沌工程工具,專門用于在 AWS 云平臺上進行故障注入實驗 ·可模擬 AWS 云服務的各種故障情況,如 EC2 實例故障、S3 存儲桶故障、RDS 數(shù)據(jù)庫故障等 ·與 AWS 的其他服務和工具集成緊密,方便用戶在云環(huán)境中進行全面的系統(tǒng)測試 適用于使用 AWS 云平臺的企業(yè)和開發(fā)者,幫助他們在云環(huán)境中評估系統(tǒng)的可靠性和彈性,確保應用程序能夠在 AWS 云服務出現(xiàn)故障時正常運行

?

f、執(zhí)行實驗

1)系統(tǒng)架構(gòu)分析

①架構(gòu)分析的必要性

系統(tǒng)級架構(gòu)分析,是所有穩(wěn)定性保障工作開展的首要條件。通過對系統(tǒng)機構(gòu)的充分理解和分析,才能準確識別故障演練的切入點(可能的弱點),以下,是系統(tǒng)架構(gòu)分析的必要環(huán)節(jié)和目的。

②識別關(guān)鍵組件和依賴關(guān)系

系統(tǒng)架構(gòu)分析幫助識別系統(tǒng)中關(guān)鍵的組件和服務,以及它們之間的依賴關(guān)系。這有助于確定哪些部分對系統(tǒng)的整體功能至關(guān)重要,并需要優(yōu)先進行故障演練。

③理解數(shù)據(jù)流和通信路徑

分析架構(gòu)可以揭示數(shù)據(jù)在系統(tǒng)內(nèi)的流動路徑和通信模式。這有助于設計針對網(wǎng)絡延遲、帶寬限制或通信中斷的故障演練。

④識別單點故障

系統(tǒng)架構(gòu)分析可以幫助識別系統(tǒng)中的單點故障,這些是可能導致整個系統(tǒng)崩潰的薄弱環(huán)節(jié)。通過故障演練,可以測試這些點的冗余性和故障恢復能力。

⑤優(yōu)化故障演練設計

了解系統(tǒng)架構(gòu)可以幫助設計更加真實和有針對性的故障場景,從而提高故障演練的有效性和相關(guān)性。

⑥評估故障影響范圍

系統(tǒng)架構(gòu)分析可以幫助預測故障可能影響的范圍和程度,從而為故障演練設定合理的范圍和目標。

⑦加強團隊的協(xié)作與溝通

通過架構(gòu)分析,團隊成員可以更好地理解系統(tǒng)的整體設計和各自的角色。這有助于在故障演練中提高團隊的響應能力和協(xié)作效率。

⑧支持持續(xù)改進

架構(gòu)分析提供了一個基準,用于在故障演練后評估系統(tǒng)的改進效果。通過反復的分析和演練,可以不斷優(yōu)化系統(tǒng)架構(gòu),提高系統(tǒng)的彈性。

?

總之,系統(tǒng)架構(gòu)分析是故障演練的基礎,它確保演練的設計和實施是有針對性的,并能有效地提高系統(tǒng)的可靠性和穩(wěn)定性。

?

2)架構(gòu)分析案例

①架構(gòu)分析要求

?梳理系統(tǒng)全局架構(gòu)圖,標注演練(壓測同理)入口。

?梳理演練(壓測同理)接口調(diào)用架構(gòu)圖,標識調(diào)用鏈路強弱依賴、調(diào)用層級關(guān)系以及演練(壓測同理)切入點。

?沉淀調(diào)用鏈路信息文檔。

(圖例)系統(tǒng)總架構(gòu)圖

wKgZO2fs36yAU_OLAAQiMfG1NNM156.jpg

(圖例)單接口調(diào)用架構(gòu)圖

wKgZPGfs366AX5YkAA1_4W2nn1A346.jpg

②調(diào)用鏈梳理文檔(樣例):快快接口梳理(常態(tài)化演練)?

3)實驗方案

在生產(chǎn)環(huán)境或測試環(huán)境中執(zhí)行實驗,觀察系統(tǒng)在各種故障情況下的行為。在執(zhí)行實驗過程中,應嚴格遵照劇本要求明確分工及實驗步驟,密切關(guān)注系統(tǒng)的穩(wěn)定狀態(tài)指標,確保實驗不會對用戶造成不良影響。故障演練劇本?

①方案樣例

實驗方案實施過程中,應嚴格按照分工和劇本執(zhí)行,第一時間留存關(guān)鍵證據(jù),記錄關(guān)鍵步驟結(jié)論。

演練過程記錄
環(huán)節(jié) 時間線 舉證
故障開始注入時間 (攻方填寫) 2024-12-26 17:54:55 wKgZO2fs37GAL1TYAA4QgbX5RpA491.png
故障停止注入時間(攻方填寫) 2024-12-26 18:16:15 wKgZPGfs37OAUXVpAAYcbnsGFfQ470.png
告警觸發(fā)及識別時間(守方填寫) 2024-12-26 17:58:00 wKgZO2fs37SAY7PKAAanRFN7MCc043.png
定位時間(守方填寫) 2024-12-26 18:05:00 wKgZPGfs37WAbuZuAAL4OES8pqU446.png
止損時間(守方填寫) 2024-12-26 18:09:00 wKgZO2fs37eAKSZMAAXz0ibHLhM164.png
故障恢復時間(守方填寫) 2024-12-26 18:10:00 wKgZO2fs37iAJvAyAAani1iW5yk381.png
MTTR(攻方填寫) 22min

?

g、結(jié)果分析

?對實驗結(jié)果進行分析,找出系統(tǒng)中的潛在問題和薄弱環(huán)節(jié)。分析實驗結(jié)果可以使用數(shù)據(jù)分析工具、監(jiān)控工具或日志分析工具等。針對實驗結(jié)果總結(jié)經(jīng)驗并后續(xù)做針對性改進。

?樣例:如針對某一個應用,演練完成之后,會從以下維度評估,并總結(jié)經(jīng)驗。

?應用:workbench-xxxxx-backend-xxxxx

?故障場景:強依賴JSF超時不可用+弱依賴JSF超時不可用

?故障時間:2025-01-02 21:14:38 ~ 2025-01-02 21:35:00

?問題現(xiàn)象

?下游強依賴接口(計費系統(tǒng))持續(xù)響應3S,TP99飚高,可用率未下降,仍100%

?從植入故障到引起監(jiān)控報警,間隔13min,該接口性能告警配置建議調(diào)整時間(現(xiàn)狀:5次/分鐘超過配置的閾值則報警,并在10分鐘內(nèi)不重復報警)

?問題原因

?針對強依賴接口,下游超時未上報可用率下降

?告警時間配置10min,告警配置不敏感

?改進措施

?針對強依賴接口,下游超時上報可用率下降

?更改UMP告警配置,更改為5min告警1次

?

h、問題修復及重復實驗

?根據(jù)實驗結(jié)果,修復系統(tǒng)中的潛在問題和薄弱環(huán)節(jié)。之后重復進行實驗,以驗證修復效果并進一步提高系統(tǒng)的彈性和穩(wěn)定性。

?目前快快技術(shù)團隊,在演練過程中,關(guān)鍵問題修復之后,會針對性進行二次驗證。

?

i、成熟度評估

1)什么是混沌工程成熟度模型

混沌工程成熟度模型是一種框架,用于評估和指導組織在實施混沌工程實踐中的發(fā)展階段和成熟度。這個模型幫助組織理解它們在混沌工程實踐中的位置,并為進一步改進提供路線圖。

通常,混沌工程成熟度模型會分為幾個階段,每個階段代表不同的能力和實踐水平,通常包括初始階段、基礎階段(初級)、標準化階段(發(fā)展中)、優(yōu)化階段(成熟)、創(chuàng)新階段(卓越)。

混沌工程成熟度模型的演變可以幫助組織系統(tǒng)化地實施混沌實驗,并逐步提高其混沌工程實踐的成熟度。通過系統(tǒng)化的成熟度評估,組織可以更有效地實施混沌工程實踐,提升其整體系統(tǒng)的穩(wěn)健性和響應能力。

混沌工程成熟度模型的演變反映了組織在復雜系統(tǒng)環(huán)境中不斷追求更高彈性和可靠性的努力,結(jié)合業(yè)內(nèi)對成熟度模型理解和京東實際情況,對成熟度框架進行剪裁(去掉接納度維度和初始階段),剪裁后的成熟度框架如下。

成熟度等級 1級(初級) 2級(發(fā)展中) 3級(成熟) 4級(卓越)
架構(gòu)抵御故障的能力(系統(tǒng)維度) 一定冗余 統(tǒng)中存在備份或多個實例,以防單點故障。在硬件層面,可以有多個服務器或數(shù)據(jù)中心;在軟件層面,可以有多個服務實例或數(shù)據(jù)庫副本。(多機房無單點) 冗余且可擴展 除了具備一定的冗余之外,系統(tǒng)還應該能夠根據(jù)需求進行水平或垂直擴展。水平擴展是指增加更多的服務器或?qū)嵗怪睌U展是指升級現(xiàn)有服務器的硬件配置??蓴U展性允許系統(tǒng)在面臨高負載或增長時繼續(xù)提供服務。 已使用可避免級聯(lián)故障技術(shù) 級聯(lián)故障是指一個故障導致一系列其他故障的連鎖反應。為了避免這種情況,可以使用技術(shù)如熔斷(Circuit Breaker)、隔離(Bulkhead)和限流(Rate Limiting)。(垂直部署) 已實現(xiàn)韌性架構(gòu) 韌性架構(gòu)是指系統(tǒng)在面臨異常情況(如高負載、網(wǎng)絡中斷或硬件故障)時仍能保持一定的功能和性能。實現(xiàn)韌性架構(gòu)通常需要設計和實施多種策略,包括上述的冗余、可擴展性和避免級聯(lián)故障技術(shù),以及其他技術(shù)如自動恢復(自動重啟、自動回滾等)、自適應負載平衡和實時監(jiān)控等。
指標監(jiān)控能力(系統(tǒng)維度) 實驗結(jié)果只反映系統(tǒng)狀態(tài)指標 實驗結(jié)果主要關(guān)注系統(tǒng)的基礎健康狀態(tài)指標,例如CPU使用率、內(nèi)存使用率、磁盤空間等。這些指標可以幫助你了解系統(tǒng)在故障情況下的表現(xiàn)(具備MDC監(jiān)控) 實驗結(jié)果反應健康狀態(tài)指標 除了基礎系統(tǒng)狀態(tài)指標外,實驗結(jié)果還會考慮更高級別的健康狀態(tài)指標,例如服務可用性、響應時間、錯誤率等。這些指標可以提供關(guān)于系統(tǒng)整體健康狀況的更深入的見解。(具備UMP和Pfinder監(jiān)控,應用健康度評分90分以上) 實驗結(jié)果反應聚合的業(yè)務指標 實驗結(jié)果會聚焦于與業(yè)務相關(guān)的指標,例如訂單處理速度、用戶會話數(shù)、轉(zhuǎn)化率等。這些指標可以幫助你了解故障對業(yè)務流程和用戶體驗的影響。(具備業(yè)務監(jiān)控能力) 有對照組比較業(yè)務指標差異 除了上述指標外,還會設置一個對照組(即沒有故障的基線組)來與實驗組進行比較。通過比較兩組的業(yè)務指標差異,可以更準確地評估故障對業(yè)務的實際影響。
實驗環(huán)境選擇(系統(tǒng)維度) 可在預生產(chǎn)環(huán)境運行試驗 在接近生產(chǎn)環(huán)境的設置中進行試驗,預生產(chǎn)環(huán)境通常與生產(chǎn)環(huán)境具有相似的配置和數(shù)據(jù),可以幫助你在不影響實際用戶的情況下評估系統(tǒng)的彈性。 復制生產(chǎn)流量在灰度環(huán)境運行 在一個專門設計的灰度環(huán)境中模擬生產(chǎn)環(huán)境的流量和負載。通過這種方式,你可以在真實的生產(chǎn)條件下測試系統(tǒng)的彈性,而不直接影響到實際用戶。 在生產(chǎn)環(huán)境中運行實驗 需要非常小心和謹慎,只有當你有足夠的信心和準備工作時,才應該考慮在生產(chǎn)環(huán)境中進行混沌工程實驗。這種方法可以提供最真實的結(jié)果,但也存在最大的風險。 包含生產(chǎn)在內(nèi)的任意環(huán)境都可進行實驗 這種說法并不完全正確。雖然理論上可以在任何環(huán)境中進行混沌工程實驗,但在實踐中,需要根據(jù)具體的系統(tǒng)和業(yè)務需求來選擇合適的環(huán)境。例如,對于關(guān)鍵系統(tǒng)或高風險應用,可能不適合直接在生產(chǎn)環(huán)境中進行實驗。
故障注入場景和爆炸半徑范圍(系統(tǒng)維度) 進行一些基礎的演練場景注入 選擇注入一些基本的故障場景,例如突然終止一個進程、關(guān)閉一個服務或者模擬機器崩潰等。這些場景可以幫助你了解系統(tǒng)在面對單一故障時的反應。 注入較高級的故障場景 注入更復雜的故障場景,例如網(wǎng)絡延遲、數(shù)據(jù)庫延遲或者是第三方服務不可用等。這些場景可以模擬更真實的生產(chǎn)環(huán)境中的問題。 引入服務級別的影響和組合式演練場景 注入涉及多個服務的復雜故障場景,例如同時模擬多個微服務的故障、網(wǎng)絡分區(qū)或者是負載均衡器失效等。這些場景可以幫助你了解系統(tǒng)在面對多個故障同時發(fā)生時的行為。 基于業(yè)務注入故障 注入更高級別的故障,例如模擬用戶的不同使用模式、返回結(jié)果的變化或者是異常結(jié)果的出現(xiàn)等。這些場景可以幫助你理解系統(tǒng)在面對非標準輸入或輸出時的彈性。
試驗自動化(基礎設施維度) 利用工具進行半自動化試驗 使用工具來輔助試驗的某些步驟,但仍需要人工干預。例如,使用腳本來模擬故障或生成負載,而人工負責啟動和監(jiān)控試驗。 自動創(chuàng)建、運行實驗,但需要手動監(jiān)控和停止 試驗的創(chuàng)建和運行可以被自動化,例如使用CI/CD流程來部署和執(zhí)行試驗。然而,仍然需要人工監(jiān)控試驗的進展和結(jié)果,并在必要時手動停止試驗。 自動結(jié)果分析,自動終止試驗 系統(tǒng)可以自動檢測到試驗的結(jié)果,并根據(jù)預設的規(guī)則自動終止試驗。例如,如果系統(tǒng)的性能下降超過某個閾值,試驗將被自動停止。 自動設計、實現(xiàn)、執(zhí)行、終止實驗 整個混沌工程流程都被自動化。系統(tǒng)可以自主設計試驗、選擇適當?shù)沫h(huán)境、執(zhí)行試驗、分析結(jié)果,并根據(jù)結(jié)果自動調(diào)整或終止試驗。這種級別的自動化需要高度復雜的系統(tǒng)和算法支持。
工具使用(基礎設施維度) 采用試驗工具 選擇一款專門設計用于混沌工程的試驗工具,例如Chaos Monkey、Gremlin、Pumba等。這些工具可以幫助你模擬各種故障和壓力測試,評估系統(tǒng)的彈性。(泰山—風險管理—混沌工程) 使用試驗框架 選擇使用一個更全面的試驗框架,例如Chaos Toolkit或Litmus。這些框架提供了更豐富的功能,包括試驗設計、執(zhí)行、監(jiān)控和結(jié)果分析等。(泰山—風險管理—混沌工程) 實驗框架和持續(xù)發(fā)布工具集成 將混沌工程工具與持續(xù)發(fā)布(CI/CD)工具集成,例如Jenkins、GitLab CI/CD或CircleCI。這樣可以實現(xiàn)自動化的混沌工程流程,例如在每次代碼部署后自動運行一系列混沌工程試驗。 工具支持交互式的比對實驗 工具不僅可以執(zhí)行混沌工程試驗,還可以提供交互式的比對實驗功能。例如,你可以使用工具來比較兩種不同的系統(tǒng)配置或版本在面對相同的故障情況下的表現(xiàn)差異。這種功能可以幫助你更深入地理解系統(tǒng)的彈性和性能。
環(huán)境恢復能力(基礎設施維度) 可手動恢復環(huán)境 需要手動介入來恢復環(huán)境。這可能涉及到重新啟動服務、清理日志文件、調(diào)整配置等步驟。雖然這種方法可以解決問題,但它通常需要更多的時間和人力資源。 可半自動恢復環(huán)境 系統(tǒng)具備一些自動化的恢復功能,例如自動重啟服務或者自動清理日志文件。然而,仍然需要系統(tǒng)管理員的介入來執(zhí)行其他恢復步驟(比如手動恢復數(shù)據(jù)、手動回滾代碼等)。這種方法可以加快恢復過程,但仍然依賴于人工干預 部分可自動化恢復環(huán)境 系統(tǒng)的恢復過程可以被大部分自動化。例如,系統(tǒng)可以自動檢測故障并嘗試恢復,或者在出現(xiàn)問題時自動切換到備用系統(tǒng)。雖然仍然可能需要人工干預來解決某些問題(比如未知類型故障、數(shù)據(jù)一致性問題、安全問題等),但自動化程度已經(jīng)大大提高。 韌性架構(gòu)自動恢復 系統(tǒng)可以自動檢測和響應任何類型的故障,包括那些在設計時未被預見的故障。這種能力通常需要一個高度彈性和自適應的架構(gòu),例如微服務架構(gòu)、容器化環(huán)境或者云原生應用。系統(tǒng)可以自動擴展、縮小、重啟服務或者重新路由流量,以確保服務的連續(xù)性。
實驗結(jié)果整理(基礎設施維度) 可以通過實驗工具得到實驗結(jié)果,需要人工整理、分析和解讀 實驗工具會生成大量的數(shù)據(jù),包括系統(tǒng)指標、錯誤日志、用戶行為等。這些數(shù)據(jù)需要人工進行整理、分析和解讀,以便從中提取有用的信息和洞察。 可以通過實驗工具持續(xù)收集實驗結(jié)果,但需人工分析和解讀 實驗工具不僅可以在實驗期間收集數(shù)據(jù),還可以在日常運營中持續(xù)監(jiān)控系統(tǒng)的狀態(tài)。這樣可以幫助團隊更早地發(fā)現(xiàn)問題并進行修復。然而,仍然需要人工分析和解讀這些數(shù)據(jù),以便理解系統(tǒng)的行為和性能。 可以通過實驗持續(xù)收集實驗結(jié)果和報告,并完成簡單的故障分析 實驗結(jié)果處理已經(jīng)具備了一定的自動化能力。實驗工具可以自動收集數(shù)據(jù)、生成報告,并進行初步的故障分析。這樣可以大大減輕人工的工作量。但是,對于復雜的故障或深入的分析,仍然需要人工的介入。 實驗結(jié)果可預測收入損失、并完成容量規(guī)劃、區(qū)分出不容服務實際的關(guān)鍵程度 通過對實驗結(jié)果的深入分析和建模,可以預測系統(tǒng)故障可能帶來的收入損失,并據(jù)此進行容量規(guī)劃和資源優(yōu)化。同時,可以通過實驗結(jié)果來區(qū)分哪些服務或功能是關(guān)鍵的,哪些是非關(guān)鍵的,從而有針對性地進行改進和優(yōu)化。

2)成熟度評估案例

基于成熟度模型的關(guān)鍵維度,我們對多個研發(fā)團隊,進行了實際的落地評估工作,具體某個團隊的評估過程,詳見下表。

成熟度等級 最終評級 舉證 待提升項(距離下一等級)
架構(gòu)抵御故障的能力 二級 擴容,有水平擴展的能力
wKgZPGfs37mAEKZmAAKy1zcWKlU886.png
具備技術(shù)熔斷能力
指標監(jiān)控能力 三級 除了ump等基本監(jiān)控之外,具備業(yè)務監(jiān)控的能力
wKgZO2fs37uAKX12AAUBX2US-jw476.png
設置對照組,針對演練的分組和實際分組做業(yè)務監(jiān)控對比,找出差異
實驗環(huán)境選擇 二級 生產(chǎn)環(huán)境無生產(chǎn)流量演練
wKgZPGfs372AcMteAAqYJrt4VAo872.png
可在生產(chǎn)環(huán)境帶生產(chǎn)流量進行演練
故障注入場景和爆炸半徑范圍 三級 多個場景混合注入故障
wKgZPGfs376AMKWqAAVXn3lqTaA095.png
基于業(yè)務場景構(gòu)造故障,在通用故障的基礎上,加入業(yè)務的場景

4、移動端混沌實驗

結(jié)合移動端特性與現(xiàn)有穩(wěn)定性測試基礎,以下為混沌工程在移動端的系統(tǒng)性實施框架,涵蓋設計原則、核心要素、工具鏈及落地步驟。

a、核心原則

核心原則 描述
以業(yè)務場景為中心 故障注入圍繞核心業(yè)務流程,如物流中的攬收、派送子域,確保關(guān)鍵路徑的韌性
漸進式風險暴露 從單點可控故障開始,如模擬API超時,逐步升級至復雜故障鏈,如網(wǎng)絡中斷、服務端熔斷
可觀測性驅(qū)動 故障注入需同步監(jiān)控業(yè)務指標,如成功率、耗時,和系統(tǒng)指標,如崩潰率、資源占用率
安全邊界控制 通過環(huán)境隔離,如僅限測試環(huán)境、預發(fā)環(huán)境隔離,和熔斷機制,如自動終止破壞性實驗規(guī)避生產(chǎn)事故

b、核心要素

1)故障場景庫設計

故障類型 典型場景 注入手段
網(wǎng)絡層 5G/弱網(wǎng)切換、DNS劫持、TCP丟包 Charles弱網(wǎng)模擬、OkHttp MockWebServer
設備層 強制殺進程、模擬內(nèi)存泄漏、電池耗盡 ADB命令(adb shell am force-stop)、Xcode工具鏈
應用層 主線程阻塞、依賴服務(如地圖SDK)超時 代碼插樁(AOP)、第三方SDK Mock工具
數(shù)據(jù)層 本地數(shù)據(jù)庫損壞、緩存過期、時間篡改 文件系統(tǒng)操作、SQLite注入異常
安全層 中間人攻擊、證書校驗繞過、敏感數(shù)據(jù)明文存儲 Wireshark抓包篡改、Frida動態(tài)Hook

2)實驗優(yōu)先級矩陣

業(yè)務影響 發(fā)生概率 實驗優(yōu)先級
P0(立即修復)
P1(灰度驗證)
P2(監(jiān)控優(yōu)化)
P3(長期規(guī)劃)

c、工具鏈與自動化集成

1)分層工具矩陣

層級 推薦工具 適用場景
網(wǎng)絡模擬 Charles、ATC、Facebook Augmented Traffic Control 弱網(wǎng)、斷網(wǎng)、協(xié)議級攻擊測試
設備控制 ADB、iOS Simulator CLI、Google Espresso 進程終止、傳感器模擬、自動化操作注入
故障注入 Chaos Mesh、Pumba、自研SDK 容器級資源限制、服務端聯(lián)調(diào)故障
監(jiān)控分析 Firebase Crashlytics、Prometheus+Grafana 崩潰追蹤、性能指標實時可視化

2)自動化流水線設計

wKgZO2fs38CATxqZAAEjUBa6py0758.png

d、落地實施步驟

1)設備覆蓋計劃

測試設備根據(jù)一線使用頻率較高的系統(tǒng)版本和設備類型的TOP3來選擇。

wKgZPGfs38GAC66NAAN8CV8ShCw436.png

2)常態(tài)化落地機制(弱網(wǎng)與斷網(wǎng)故障注入深度實踐)

弱網(wǎng)與斷網(wǎng)測試,是驗證應用網(wǎng)絡韌性的核心環(huán)節(jié)。通過Charles工具鏈與深度業(yè)務場景結(jié)合,系統(tǒng)性驗證了移動端在極端網(wǎng)絡條件下的行為,為后續(xù)自動化混沌工程流水線建設提供了實踐范本。未來可進一步與mpaas監(jiān)控、灰度發(fā)布聯(lián)動,實現(xiàn)“故障注入-監(jiān)控告警-自動修復”閉環(huán)。以小哥工作臺APP為例,其測試實施過程如下:

測試方法與工具鏈 工具選型:基于Charles Proxy實現(xiàn)網(wǎng)絡故障注入,通過抓包攔截與網(wǎng)絡參數(shù)動態(tài)配置,模擬2G/3G/4G等網(wǎng)絡類型,支持自定義帶寬(如上行50kbps/下行100kbps)、延時(300ms~5s)、丟包率(10%~30%)及穩(wěn)定性(周期性斷網(wǎng))
前置條件:開通測試設備與Charles的網(wǎng)絡互訪權(quán)限,確保流量可被代理捕獲;構(gòu)建Debug包以繞過證書校驗限制,支持HTTPS請求解析。
場景覆蓋與問題挖掘 業(yè)務場景:圍繞攬收、派送等核心流程,覆蓋100+關(guān)鍵交互節(jié)點,包括:訂單提交時的網(wǎng)絡閃斷重試;離線模式下地址信息本地緩存與同步;弱網(wǎng)環(huán)境下的圖片上傳降級策略
問題發(fā)現(xiàn):累計識別20+韌性缺陷,如以下3類。 ①網(wǎng)絡切換容錯缺失:Wi-Fi與蜂窩網(wǎng)絡切換時,偶現(xiàn)任務狀態(tài)丟失; ②重試風暴:斷網(wǎng)恢復后,客戶端未采用指數(shù)退避策略,導致服務端瞬時流量激增; ③離線數(shù)據(jù)沖突:多設備離線操作后,數(shù)據(jù)合并邏輯異常引發(fā)業(yè)務臟數(shù)據(jù)。
優(yōu)化方向 流程提效:推動去Debug包依賴,采用OkHttp MockWebServer或Charles Map Local功能,直接劫持線上包API響應,減少構(gòu)建成本; 構(gòu)建自動化弱網(wǎng)場景庫,將典型配置(如電梯、樓宇網(wǎng)絡)預設為腳本,一鍵觸發(fā)測試。

?

5、AI大模型與混沌工程的雙向融合

a、AI場景下的混沌實驗

1)AI大模型系統(tǒng)與傳統(tǒng)系統(tǒng)的差異

隨著AI大模型技術(shù)的快速發(fā)展,各行各業(yè)的傳統(tǒng)系統(tǒng)都在逐步融合AI大模型能力,那么由此給混沌實驗帶來了新的挑戰(zhàn),與傳統(tǒng)系統(tǒng)的混沌實驗相比,融合了AI大模型能力的系統(tǒng)則會有一定的差異性,如下:

維度 傳統(tǒng)系統(tǒng) AI大模型融合系統(tǒng)
實驗原理 基于確定性規(guī)則(如手動觸發(fā)服務宕機、模擬流量激增)。 結(jié)合AI生成對抗性故障(如動態(tài)調(diào)整故障參數(shù)、模擬數(shù)據(jù)分布偏移)。
實驗目標 驗證系統(tǒng)對已知故障(如網(wǎng)絡延遲、服務宕機)的容錯能力,確保預設的冗余、熔斷等機制有效。 包括傳統(tǒng)系統(tǒng)既有的實驗目標以外,還需: 1、驗證AI模型的動態(tài)適應能力(如故障預測、自愈決策),驗證系統(tǒng)在復雜、動態(tài)環(huán)境中的智能響應能力。 2、評估AI模型的魯棒性(如對抗數(shù)據(jù)擾動、模型漂移)、AI與人類決策的協(xié)作效率
場景設計 硬件/網(wǎng)絡故障、服務中斷 數(shù)據(jù)異常、模型推理瓶頸、算力動態(tài)調(diào)度
監(jiān)控指標 基礎資源、接口調(diào)用、服務可用性(SLA)、平均恢復時間(MTTR)、錯誤率。 保留傳統(tǒng)指標,并新增AI相關(guān)指標: - 模型推理延遲、決策準確率; - 異常檢測召回率; - 動態(tài)策略調(diào)整效率。 -數(shù)據(jù)質(zhì)量(如特征分布偏移)、模型置信度、AI與人類決策一致性。
結(jié)果分析 單點故障定位、容錯機制驗證 模型魯棒性評估、數(shù)據(jù)鏈路風險、業(yè)務影響量化

因此,在對AI大模型融合系統(tǒng)實施混沌實驗時,在滿足傳統(tǒng)系統(tǒng)混沌實驗關(guān)注點的同時,還需要更加關(guān)注模型服務可靠性(如推理延遲、數(shù)據(jù)異常影響),覆蓋數(shù)據(jù)噪聲、GPU資源爭用及模型輸出漂移等復雜場景,指標監(jiān)控上應額外追蹤模型性能(如準確率)、數(shù)據(jù)分布偏移及GPU利用率。在進行結(jié)果分析時需量化模型魯棒性、數(shù)據(jù)鏈路風險及業(yè)務間接損失(如用戶信任)。

?

2)AI大模型混沌工程實驗

①實驗目標

?驗證大模型服務降級/熔斷策略的有效性

?測試模型服務與業(yè)務系統(tǒng)的異常協(xié)同能力

?檢測數(shù)據(jù)流-模型-業(yè)務鏈路的健壯性

?驗證模型性能監(jiān)控與自動恢復機制。

②實驗原則

?最小化爆炸半徑:從非核心業(yè)務開始,逐步擴大范圍

?可觀測性:確保所有操作可監(jiān)控、可記錄、可回滾

?穩(wěn)態(tài)假設:明確定義系統(tǒng)正常運行的指標(如成功率、延遲、QPS等)

?生產(chǎn)環(huán)境優(yōu)先:優(yōu)先在生產(chǎn)環(huán)境進行(需嚴格規(guī)劃)

③實驗標準

實驗準入 實驗準出
演練前,研測雙方,未完成演練分組確認、數(shù)據(jù)隔離確認,禁止啟動演練 故障識別效率:守方在5分鐘內(nèi)識別故障,同時在“常態(tài)化備戰(zhàn)群”報備故障
演練場景,未通過研測聯(lián)合評審,并發(fā)出評審紀要,禁止啟動演練 故障定位效率:守方在10分鐘內(nèi)定位故障,同時在“常態(tài)化備戰(zhàn)群”同步故障原因
演練周期內(nèi),指定攻守人員未在指定場所準備就緒,禁止啟動演練 止損效率:守方在15分鐘內(nèi)通過自動或手動方式,降級止損
演練平臺任務,未與演練劇本及觀察員,二次對齊確認,禁止啟動演練 弱依賴有效性:弱依賴類故障,不影響核心業(yè)務流轉(zhuǎn)
演練集群申請列表檢查完畢 故障修復效率:如演練場景為有損故障、或故障注入過程對線上業(yè)務產(chǎn)生影響,需要在20分鐘內(nèi)修復
演練退出標準:故障注入超過5分鐘未被識別、超過10分鐘未被定位、超過15分鐘未止損,對應場景終止故障注入,并完成環(huán)境初始化,標記演練未通過

④場景設計原則

針對AI大模型工程系統(tǒng)的混沌實驗設計,需結(jié)合核心業(yè)務場景和底層依賴(算力、數(shù)據(jù)、模型、網(wǎng)絡),重點驗證系統(tǒng)的容錯性、自適應能力和用戶體驗魯棒性。

故障分類 具體場景 實驗步驟 過程監(jiān)控 預期結(jié)果
基礎設施層 GPU節(jié)點故障 1. 選擇1個GPU計算節(jié)點 2. 模擬硬件故障(如nvidia-smi注入故障代碼) 3. 持續(xù)10分鐘 - GPU利用率/溫度實時監(jiān)控 - 節(jié)點存活狀態(tài)檢測 - 服務自動遷移日志追蹤 - 服務自動遷移至備用節(jié)點 - 業(yè)務中斷時間<30秒 - GPU資源池利用率波動<15%
顯存溢出攻擊 1. 逐步增加推理請求的輸入尺寸 2. 監(jiān)控顯存使用率 3. 觸發(fā)OOM后記錄恢復流程 - 顯存分配/釋放速率監(jiān)控 - OOM錯誤日志捕獲 - 關(guān)聯(lián)服務健康狀態(tài)檢測 - 觸發(fā)熔斷機制自動重啟服務 - 錯誤日志記錄完整率100% - 未影響其他模型服務
服務層 模型API高延遲 1. 在API網(wǎng)關(guān)注入10000ms延遲 2. 維持15分鐘 3. 監(jiān)控降級策略觸發(fā)情況 - 請求響應時間分布監(jiān)控 - 客戶端重試次數(shù)統(tǒng)計 - 降級策略觸發(fā)狀態(tài) - 客戶端超時重試機制生效 - 備用模型啟用率>90% - 整體錯誤率上升≤5%
模型熱切換失敗 1. 推送新模型版本 2. 強制中斷切換過程 3. 驗證回滾機制 - 模型版本哈希校驗 - 切換過程耗時監(jiān)控 - 請求成功率波動檢測 - 10秒內(nèi)檢測到切換失敗 - 自動回退至穩(wěn)定版本 - 業(yè)務請求成功率>99.5%
數(shù)據(jù)流層 特征存儲中斷 1. 切斷特征存儲服務網(wǎng)絡 2. 持續(xù)5分鐘 3. 恢復后驗證數(shù)據(jù)一致性 - 特征服務健康檢查 - 本地緩存命中率監(jiān)控 - 數(shù)據(jù)一致性校驗 - 自動切換本地特征緩存 - 數(shù)據(jù)恢復后差異率<0.1% - 業(yè)務決策準確率下降≤3%
實時數(shù)據(jù)亂序 1. 注入10%亂序數(shù)據(jù)流 2. 逐步提升至50%亂序率 3. 監(jiān)控處理延遲 - 數(shù)據(jù)流處理延遲監(jiān)控 - 窗口計算偏差檢測 - 亂序告警觸發(fā)統(tǒng)計 - 流處理引擎亂序容忍機制生效 - 最終計算結(jié)果偏差<1% - 告警系統(tǒng)在30秒內(nèi)觸發(fā)
模型層 模型精度下降 1. 修改在線模型權(quán)重參數(shù) 2. 注入5%對抗樣本 3. 監(jiān)控模型輸出穩(wěn)定性 - 模型輸出分布偏移檢測 - 對抗樣本識別率 - 業(yè)務決策錯誤率波動 - 模型監(jiān)控系統(tǒng)30秒內(nèi)告警 - 自動切換備用模型 - 業(yè)務決策錯誤率<警戒閾值(如2%)
多模型投票失效 1. 關(guān)閉1個投票模型實例 2. 注入矛盾樣本 3. 驗證決策一致性 - 投票結(jié)果置信度監(jiān)控 - 模型間結(jié)果差異率 - 人工干預請求量統(tǒng)計 - 投票機制自動降級為權(quán)重模式 - 最終決策置信度>85% - 人工復核請求觸發(fā)率<5%

?

b、快遞快運小哥AI智能助手-混沌工程探索

1)系統(tǒng)簡介

快遞快運終端系統(tǒng)是服務于一線快遞小哥及站點管理者的日常工作作業(yè)實操系統(tǒng),是京東物流作業(yè)人員最多、物流攬派作業(yè)最末端以及作業(yè)形態(tài)多元化的系統(tǒng)。

AI大模型具有超強自然語言處理、泛化能力、意圖理解、類人推理以及多元化結(jié)果輸出的獨特能力,基于此,快遞快運小哥AI智能助手通過結(jié)合AI大模型工程系統(tǒng)、大數(shù)據(jù)、GIS、語音SDK等分別在攬收、派送、站內(nèi)、輔助、問答服務五大類作業(yè)環(huán)節(jié)上實現(xiàn)了如小哥攬收信息錄入、打電話、發(fā)短信、查詢運單信息、小哥攬派任務信息聚合查詢、知識問答及攬派履約時效精準化提示等場景。提升小哥作業(yè)效率和攬派實操體驗。

2)系統(tǒng)架構(gòu)分析

快遞快運小哥AI智能助手【產(chǎn)品架構(gòu)圖】快遞快運小哥AI智能助手故障演練【系統(tǒng)架構(gòu)圖】

3)實驗場景

針對AI大模型工程系統(tǒng)的混沌實驗設計,需結(jié)合核心功能(智能提示、智能問答、智能操作)和底層依賴(算力、數(shù)據(jù)、模型、網(wǎng)絡),重點驗證系統(tǒng)的容錯性、自適應能力和用戶體驗魯棒性。

故障分類 具體場景 實驗步驟 預期結(jié)果
服務層 模型API高延遲 (AI大模型工程系統(tǒng)提供給小哥后臺服務系統(tǒng)的API高延遲) ·從泰山平臺注入10000ms延遲故障場景 ·故障維持15分鐘 ·停止故障場景注入,恢復大模型能力 ·小哥工作臺APP客戶端檢測到大模型服務接口超時(如攬收數(shù)據(jù)錄入時,無法得到響應數(shù)據(jù)),啟動降級策略機制,切斷大模型服務,兜底回到五大模型服務模式,小哥可以正常繼續(xù)標準化作業(yè) ·小哥工作臺APP持續(xù)在無大模型服務下運轉(zhuǎn) ·小哥工作臺APP客戶端檢測大模型能力恢復,啟動大模型能力服務
模型層 模型精度下降 ·修改在線模型權(quán)重參數(shù) ·注入5%對抗樣本數(shù)據(jù)(線上已錄制的大模型訪問數(shù)據(jù)流量) ·恢復大模型參數(shù) ·大模型監(jiān)控系統(tǒng)30秒內(nèi)告警,識別到模型參數(shù)異常變更,預警通知開發(fā)人員,開發(fā)人員發(fā)現(xiàn)模型參數(shù)異常 ·客戶端發(fā)現(xiàn)大模型使用能力下降,開發(fā)啟動自動切換備用模型(參數(shù)已經(jīng)適配好的模型),開發(fā)下線參數(shù)異常模型 ·開發(fā)發(fā)現(xiàn)參數(shù)異常模型恢復,重新啟動上線

?

c、混沌工程的AI智能化演進展望

混沌實驗的AI化演進是系統(tǒng)穩(wěn)定性測試與人工智能技術(shù)深度融合的重要趨勢。這一演進不僅體現(xiàn)在實驗工具的智能化升級上,更體現(xiàn)在實驗設計、執(zhí)行與分析的全鏈路優(yōu)化中。以下分別從技術(shù)融合、工具創(chuàng)新及場景擴展三個維度展開論述:

1)技術(shù)融合:AI賦能混沌實驗的核心環(huán)節(jié)

混沌實驗包含了實驗設計、實驗執(zhí)行及實驗監(jiān)控與根因分析三大核心環(huán)節(jié),具體而言。

?

①實驗設計智能化

傳統(tǒng)混沌實驗依賴于人工假設(如“當網(wǎng)絡延遲增加時,系統(tǒng)可用性應保持在99.99%以上”),而AI可通過歷史故障數(shù)據(jù)與系統(tǒng)日志,自動識別潛在脆弱點并生成實驗假設。

例如,基于強化學習的AI模型可模擬復雜故障場景的組合,優(yōu)化實驗參數(shù)(如故障注入的強度、范圍),提升測試覆蓋率。AI可分析服務調(diào)用鏈,預測依賴服務失效后的級聯(lián)影響,并自動設計針對性的網(wǎng)絡分區(qū)實驗。在驗證電商大促場景下的訂單支付鏈路韌性時,通過AI驅(qū)動的智能實驗設計,系統(tǒng)可自動化發(fā)現(xiàn)潛在風險組合并生成針對性實驗方案,具體而言

實驗設計關(guān)鍵環(huán)節(jié) 實驗設計關(guān)鍵流程
歷史數(shù)據(jù)挖掘與脆弱點識別 數(shù)據(jù)輸入: ·歷史故障日志:比如過去3年大促期間記錄的168次服務降級事件(如庫存超賣、優(yōu)惠券死鎖)。 ·系統(tǒng)拓撲:服務依賴關(guān)系(如支付網(wǎng)關(guān)調(diào)用訂單數(shù)據(jù)庫的頻率為5000次/秒)。 ·性能基線:日常與大促期間的CPU/內(nèi)存/延遲指標對比數(shù)據(jù) AI分析: ·使用圖神經(jīng)網(wǎng)絡(GNN)分析服務調(diào)用鏈,識別高頻依賴且資源消耗高的節(jié)點(如優(yōu)惠券服務在流量峰值時CPU利用率達90%)。 ·基于關(guān)聯(lián)規(guī)則挖掘(Apriori算法)發(fā)現(xiàn)故障組合模式(如“庫存服務響應延遲>200ms”與“支付網(wǎng)關(guān)連接池耗盡”共同發(fā)生的概率為72%)。
強化學習生成實驗參數(shù) 強化學習模型(PPO算法)配置: ·狀態(tài)空間:優(yōu)惠券服務線程池使用率、支付網(wǎng)關(guān)活躍連接數(shù)、訂單數(shù)據(jù)庫寫入延遲。 ·動作空間: ·故障類型:線程阻塞(阻塞比例10%~100%)、連接池限制(50%~20%容量)。 ·注入時機:流量爬坡期(0%~100%峰值)。 ·獎勵函數(shù): ·正向獎勵:實驗觸發(fā)系統(tǒng)熔斷/降級(如訂單服務自動切換為本地緩存)。 ·負向獎勵:訂單失敗率>0.1%或?qū)嶒炓l(fā)級聯(lián)故障。 ·訓練過程: 在仿真環(huán)境中模擬10萬次實驗,AI學習到最優(yōu)策略: “在流量達到峰值的70%時,先注入優(yōu)惠券服務50%線程阻塞,待系統(tǒng)觸發(fā)自動擴容后,再限制支付網(wǎng)關(guān)連接池至30%容量”
實驗執(zhí)行與動態(tài)調(diào)控 初始注入:AI按策略在流量爬坡期注入優(yōu)惠券服務50%線程阻塞。 動態(tài)響應: ·系統(tǒng)檢測到線程池滿載,自動擴容優(yōu)惠券服務實例(從10個擴展到15個)。 ·AI監(jiān)控到擴容完成,立即觸發(fā)支付網(wǎng)關(guān)連接池限制至30%。 異常檢測: ·訂單數(shù)據(jù)庫寫入延遲突增至800ms(超過基線300%),AI通過LSTM模型預測5秒內(nèi)可能觸發(fā)死鎖,立即停止實驗并回滾故障。

通過借助AI智能實驗方案設計,獲得以下收益。

優(yōu)勢項 描述
風險發(fā)現(xiàn)效率提升 提前識別出4個高危漏洞
驗證成本降低 實驗耗時從人工方案的48小時縮短至6小時,資源消耗減少60%
韌性增強 優(yōu)化后系統(tǒng)在真實大促中訂單失敗率從0.15%降至0.02%,且故障平均恢復時間(MTTR)從8分鐘縮短至90秒

以上,AI不僅替代了人工設計中的重復勞動,更重要的是通過系統(tǒng)化挖掘隱性關(guān)聯(lián)動態(tài)博弈式測試,將混沌工程從“已知-已知”測試升級為“已知-未知”甚至“未知-未知”風險探索。

?

②執(zhí)行與調(diào)控動態(tài)化

AI的動態(tài)決策能力使得混沌實驗從“預設故障”向“自適應故障注入”演進。例如,通過實時監(jiān)控系統(tǒng)指標(如CPU負載、請求延遲),AI可動態(tài)調(diào)整故障注入的強度或終止實驗,避免超出系統(tǒng)容災閾值。通過AI驅(qū)動的動態(tài)實驗調(diào)控,可以使混沌工程實現(xiàn)更多的突破,例如:實現(xiàn)動態(tài)適應性,從“固定劇本”升級為“實時博弈”,更貼近真實故障場景;實現(xiàn)精準調(diào)控,避免因過度測試導致業(yè)務受損,平衡實驗風險與價值;實現(xiàn)多目標優(yōu)化,同時驗證性能、穩(wěn)定性、安全性的綜合影響,例如:驗證系統(tǒng)在流量激增時自動擴縮容的能力。

實驗場景 在大促期間實施彈性伸縮混沌實驗
實驗目標 驗證系統(tǒng)在流量激增時自動擴縮容的能力
AI調(diào)控策略 初始故障:模擬流量突增50%,觸發(fā)自動擴容 動態(tài)調(diào)整: ·若系統(tǒng)擴容速度過慢(如新實例啟動時間>3分鐘),AI自動追加CPU負載故障(如占用80% CPU),資源爭用下的擴容極限。 ·若擴容成功但負載均衡異常(如某些實例請求量超標),AI注入節(jié)點宕機故障,驗證服務遷移能力。 終止條件:當訂單失敗率超過1%時,立即停止實驗并觸發(fā)告警
預期結(jié)果 AI發(fā)現(xiàn)擴容策略在CPU高負載時延遲增加2倍,推薦優(yōu)化預熱腳本并增加冗余實例池

?

③智能監(jiān)控與智能根因分析

傳統(tǒng)監(jiān)控工具(如Prometheus)依賴人工設置告警閾值,而AI可通過異常檢測算法(如LSTM、自編碼器)實時識別系統(tǒng)行為的偏離,并關(guān)聯(lián)故障注入事件,快速定位根因。例如,南京大學利用AI分析古生物大數(shù)據(jù)揭示復雜系統(tǒng)的演化模式,類似方法可用于預測分布式系統(tǒng)中的故障傳播路徑。

智能監(jiān)控與根因分析通過AI技術(shù)實現(xiàn)從“被動告警”到“主動預測-定位”的跨越,其核心是通過多維度數(shù)據(jù)融合與因果推理,快速定位復雜系統(tǒng)中的故障根源。其技術(shù)原理可以從以下幾個方面深入展開:

異常檢測:動態(tài)閾值與模式識別 傳統(tǒng)監(jiān)控缺陷:人工設置靜態(tài)閾值(如“CPU使用率>90%觸發(fā)告警”),無法適應業(yè)務波動(如大促期間CPU正常使用率可能長期維持在85%)
AI解決方案: 1)時序預測模型(LSTM/Prophet):基于歷史數(shù)據(jù)預測指標正常范圍(如預測大促期間訂單服務的請求延遲基線為50ms±10ms),動態(tài)調(diào)整告警閾值; 2)無監(jiān)督異常檢測(自編碼器/Isolation Forest):通過對比實時數(shù)據(jù)與正常模式的特征差異(如請求成功率的分布偏移),識別未知異常類型(如特定API接口的偶發(fā)超時)
根因定位:因果圖與傳播路徑推理 傳統(tǒng)方法缺陷:人工排查需逐層檢查日志、指標和鏈路追蹤,耗時長且易遺漏隱性依賴
AI解決方案: 1)服務拓撲建模(圖神經(jīng)網(wǎng)絡/GNN):將微服務調(diào)用關(guān)系建模為圖結(jié)構(gòu),分析節(jié)點(服務)與邊(依賴)的異常傳播權(quán)重。 2)因果推理(貝葉斯網(wǎng)絡/結(jié)構(gòu)方程模型):結(jié)合故障注入實驗數(shù)據(jù)(如“當Redis緩存失效時,數(shù)據(jù)庫QPS增加300%”),構(gòu)建故障因果鏈,量化各因素對目標異常(如訂單失敗率)的貢獻度。
故障傳播預測:復雜系統(tǒng)仿真 仿生學啟發(fā):借鑒南京大學分析古生物演化的方法(如模擬環(huán)境劇變對物種多樣性的影響),通過數(shù)字孿生技術(shù)構(gòu)建系統(tǒng)仿真模型,預測故障傳播路徑
關(guān)鍵技術(shù): 1)故障注入+強化學習:模擬隨機或組合故障(如“數(shù)據(jù)庫主從延遲+緩存擊穿”),觀察系統(tǒng)響應并生成故障傳播概率圖。 2)傳播路徑預測:若檢測到A服務異常,AI基于歷史數(shù)據(jù)預測其下游影響(如A服務故障有70%概率在30秒內(nèi)導致B服務超時)

AI驅(qū)動的智能監(jiān)控與根因分析通過動態(tài)異常檢測-因果推理-傳播預測的三層技術(shù)架構(gòu),將故障定位從“人工地毯式排查”升級為“秒級精準定位”。此能力不僅大幅縮短了故障恢復時間,更重要的是通過預測潛在連鎖反應(如“緩存失效→數(shù)據(jù)庫過載→服務雪崩”),推動系統(tǒng)架構(gòu)從“容災”向“抗災”演進。未來,結(jié)合故障注入實驗的閉環(huán)驗證,AI監(jiān)控有望實現(xiàn)“自愈推薦”,即自動生成修復策略并驗證其有效性,真正實現(xiàn)系統(tǒng)的智能韌性。

?

2)AI驅(qū)動的混沌工程平臺能力升級

①混沌工程工具AI能力建設焦點

以下針對目前的發(fā)展方向,混沌工程平臺,可基于以下幾個方面拓展能力升級。

故障類型 故障描述 參數(shù)說明
GPU節(jié)點故障 故障注入平臺的配置需要結(jié)合硬件特性、分布式訓練框架的容錯機制以及業(yè)務場景需求,包含:硬件級故障、軟件級故障以及環(huán)境級故障 參數(shù)類別 示例參數(shù) 說明 故障類型 gpu_failure_type 顯存錯誤/驅(qū)動崩潰/NVLink中斷等 持續(xù)時間 duration 瞬時故障(毫秒級)或持續(xù)故障(分鐘級) 影響范圍 gpu_index 指定GPU卡序號(如0-3) 錯誤概率 error_rate 顯存訪問錯誤的發(fā)生頻率(如1e-6次/操作)
顯存溢出攻擊 模擬惡意或異常顯存占用行為,驗證系統(tǒng)對顯存資源耗盡場景的防御能力、容錯機制及恢復效率,包含: 顯存暴力搶占:持續(xù)分配顯存直至耗盡(模擬惡意進程)。 顯存泄漏攻擊:周期性分配顯存但不釋放(模擬代碼缺陷)。 梯度爆炸攻擊:注入異常梯度值導致反向傳播顯存需求激增。 多任務資源競爭:并行啟動多個高顯存任務(測試調(diào)度策略的健壯性)。 參數(shù)項 可選值/示例 說明 fault_type gpu_memory_overflow 故障類型(顯存溢出攻擊) injection_method direct_allocation(直接分配) gradient_attack(梯度爆炸) multi_task(多任務競爭) 顯存溢出的具體實現(xiàn)方式 target_gpu 0(GPU卡序號) 指定攻擊的目標GPU設備 memory_fill_rate "90%" 或 "10GB" 顯存占用目標閾值(百分比或絕對值) leak_speed "100MB/s" 顯存泄漏速率(僅對泄漏攻擊有效) attack_duration "5m"(5分鐘) 攻擊持續(xù)時間(瞬態(tài)攻擊或持續(xù)攻擊)
模型熱切換失敗 在不停機的情況下切換模型版本時,因資源競爭、依賴沖突或狀態(tài)同步錯誤導致新模型加載失敗或舊模型殘留,引發(fā)服務中斷或預測結(jié)果混亂。例如:新模型加載時顯存不足、舊模型卸載不徹底(如未釋放GPU資源)、版本元數(shù)據(jù)(如輸入輸出格式)不兼容 參數(shù)項 可選值/示例 說明 fault_type model_hotswap_failure 故障類型(模型熱切換失?。?injection_method resource_lock(資源鎖定) metadata_corruption(元數(shù)據(jù)損壞) 模擬資源競爭或版本元數(shù)據(jù)錯誤 failure_point pre_load(加載前) post_unload(卸載后) 指定故障注入階段(加載前/卸載后) rollback_strategy auto_rollback(自動回滾) manual_intervention(人工介入) 切換失敗后的恢復策略 retry_threshold 3(最大重試次數(shù)) 加載失敗后的自動重試次數(shù)
實時數(shù)據(jù)亂序 數(shù)據(jù)流因網(wǎng)絡延遲、分片傳輸錯誤或消息隊列故障導致時序數(shù)據(jù)亂序,影響時間敏感型模型(如LSTM、Transformer)的預測準確性。例如:時間窗口內(nèi)數(shù)據(jù)順序錯亂、數(shù)據(jù)延遲超過模型允許的時序容忍度、亂序數(shù)據(jù)觸發(fā)模型狀態(tài)異常(如狀態(tài)機崩潰) 參數(shù)項 可選值/示例 說明 fault_type data_out_of_order 故障類型(實時數(shù)據(jù)亂序) disorder_rate "30%" 亂序數(shù)據(jù)比例(如30%的數(shù)據(jù)順序被打亂) max_latency "5s" 最大延遲時間(模擬數(shù)據(jù)遲到) window_size 1000 受影響的時間窗口大?。▎挝唬簲?shù)據(jù)條目數(shù)或時間范圍) distribution uniform(均勻分布) burst(突發(fā)亂序) 亂序分布模式
模型精度下降 因輸入數(shù)據(jù)漂移、模型參數(shù)篡改或計算單元異常(如GPU浮點運算錯誤),導致模型預測精度顯著下降且未被監(jiān)控系統(tǒng)及時捕獲。例如:輸入數(shù)據(jù)分布偏移(如傳感器數(shù)據(jù)偏差)、模型權(quán)重文件被部分覆蓋或損壞、浮點計算靜默錯誤(如CUDA核函數(shù)異常) 參數(shù)項` 可選值/示例 說明 fault_type model_accuracy_drop 故障類型(模型精度下降) noise_level "10%" 輸入數(shù)據(jù)噪聲強度(如添加10%高斯噪聲) weight_corruption random(隨機擾動) targeted(定向攻擊) 模型參數(shù)篡改方式 error_type float_error(浮點錯誤) quantization(量化異常) 計算單元錯誤類型 detection_threshold 0.95(置信度閾值) 觸發(fā)告警的精度下降閾值(如置信度低于0.95時告警)
多模型投票失效 在多模型投票決策系統(tǒng)中,因部分模型故障、通信中斷或投票邏輯缺陷,導致最終決策結(jié)果與真實多數(shù)投票結(jié)果不一致。如:單個模型輸出異常(如返回空值或極端值)、投票結(jié)果聚合邏輯錯誤(如加權(quán)投票權(quán)重未生效)、模型間通信超時或數(shù)據(jù)丟失 參數(shù)項` 可選值/示例 說明 fault_type ensemble_voting_failure 故障類型(多模型投票失效) failure_mode silent(靜默失敗) noisy(輸出噪聲) 模型故障類型 target_models ["model_a", "model_c"] 指定需要注入故障的模型列表 communication_delay "2s" 模擬模型間通信延遲 voting_algorithm majority(多數(shù)表決) weighted(加權(quán)投票) 投票算法類型(驗證算法容錯性)

②自動化工具鏈的升級

當前的各類工具主要依賴手動配置,通過AI的引入使得工具能夠從以下幾個維度升級

自動化配置點 配置描述
智能選擇靶點 基于系統(tǒng)拓撲和負載情況,優(yōu)先測試高風險的組件
生成實驗劇本 結(jié)合強化學習模擬多故障疊加場景,如“同時觸發(fā)數(shù)據(jù)庫延遲與容器資源耗盡
自動修復建議 根據(jù)實驗結(jié)果推薦冗余設計或負載均衡策略

③應用層故障注入的精細化

應用級故障注入工具通過“坐標系統(tǒng)”,精確定位實驗范圍(如特定用戶或服務版本),而AI可進一步擴展這一能力。例如,通過自然語言處理解析日志,自動生成針對特定API接口的異常返回規(guī)則

④場景擴展

?智能化場景推薦

包括不限于,基于系統(tǒng)架構(gòu)特性、基于既往線上故障、基于系統(tǒng)核心指標異動的智能化場景推薦,具體而言:

智能化場景推薦 技術(shù)原理 設計方案
基于系統(tǒng)架構(gòu)特性的場景推薦 ·拓撲結(jié)構(gòu)分析: ·通過服務注冊中心(如Nacos、Consul)獲取微服務依賴關(guān)系,構(gòu)建系統(tǒng)調(diào)用拓撲圖。 ·使用**圖神經(jīng)網(wǎng)絡(GNN)**計算節(jié)點中心性(如介數(shù)中心性),識別核心鏈路(如“訂單創(chuàng)建→支付→庫存扣減”路徑)。 ·資源依賴建模: ·分析服務與底層資源(數(shù)據(jù)庫、緩存、消息隊列)的綁定關(guān)系,定位資源競爭熱點(如多個服務共享同一Redis集群)。 ·輸入:系統(tǒng)拓撲圖、服務QPS、資源使用率(如數(shù)據(jù)庫連接數(shù))。 ·算法: ·關(guān)鍵路徑識別:基于PageRank算法標記高權(quán)重節(jié)點(如支付網(wǎng)關(guān))。 ·瓶頸預測:結(jié)合資源水位預測模型(如ARIMA),推斷未來壓力點。 ·輸出: ·推薦實驗場景: ·針對核心鏈路:模擬支付網(wǎng)關(guān)高延遲。 ·針對共享資源:注入Redis主節(jié)點宕機。
基于既往線上故障的場景推薦 ·故障模式挖掘: ·對歷史故障日志進行NLP解析(如BERT模型),提取故障類型、影響范圍、修復措施。 ·使用**關(guān)聯(lián)規(guī)則挖掘(Apriori算法)**發(fā)現(xiàn)高頻故障組合(如“緩存雪崩+數(shù)據(jù)庫連接池耗盡”)。 ·時序模式分析: ·基于LSTM構(gòu)建故障時序模型,預測周期性風險(如大促前1小時庫存服務易出現(xiàn)超賣)。 ·輸入:歷史故障數(shù)據(jù)庫、修復記錄、時間戳。 ·算法: ·故障關(guān)聯(lián)圖譜:構(gòu)建故障-服務-資源的關(guān)聯(lián)網(wǎng)絡。 ·相似度匹配:通過余弦相似度匹配當前系統(tǒng)狀態(tài)與歷史故障特征。 ·輸出: ·推薦實驗場景: ·復現(xiàn)歷史高頻故障:優(yōu)惠券服務線程池滿。 ·預測性場景:模擬大促開始后30分鐘的緩存擊穿。
基于系統(tǒng)核心指標異動的場景推薦 ·動態(tài)基線計算: ·使用Prophet時序模型預測指標正常范圍(如日常CPU使用率40%→大促期間允許80%)。 ·多維度異常檢測: ·通過**多變量自編碼器(MAE)**分析指標組合異常(如“CPU 85% + 數(shù)據(jù)庫鎖等待數(shù)激增”)。 ·輸入:實時監(jiān)控指標流(Prometheus)、業(yè)務日志(ELK)。 ·算法: ·異常模式聚類:對異常事件進行K-means聚類,識別典型模式(如“突增流量型”“資源泄漏型”)。 ·根因映射:將異常模式映射至預設故障場景庫。 ·輸出: ·推薦實驗場景: ·當檢測到訂單服務延遲突增時,推薦測試“庫存服務緩存失效”。 ·當數(shù)據(jù)庫鎖等待數(shù)超標時,推薦測試“分布式鎖服務故障”。

?云原生與邊緣計算

在動態(tài)的云原生環(huán)境中,AI可預測容器編排(如Kubernetes)的故障恢復效率,并驗證自動擴縮容策略的有效性。

?跨學科復雜系統(tǒng)模擬

混沌實驗的理念正被引入生物、氣候等復雜系統(tǒng)研究。例如,南京大學團隊利用AI模擬元古宙生命演化中的“雪球地球”事件對生物多樣性的沖擊這種“環(huán)境混沌實驗”為評估極端條件下的系統(tǒng)韌性提供了新范式。

隨著AI技術(shù)的不斷發(fā)展和應用場景的落地實施,混沌實驗正從“被動容災”轉(zhuǎn)向“主動韌性構(gòu)建”,其核心是通過智能算法提升實驗的精準度與系統(tǒng)自愈能力。未來,隨著AI與量子計算、生物模擬等領域的交叉,混沌實驗或?qū)⑼黄乒こ谭懂?,成為探索復雜系統(tǒng)普適規(guī)律的科學工具。

6、【積微成著】專業(yè)分享

??【積微成著】性能測試調(diào)優(yōu)實戰(zhàn)與探索(存儲模型優(yōu)化+調(diào)用鏈路分析):http://xingyun.jd.com/shendeng/article/detail/24444?forumId=174&jdme_router=jdme://web/202206081297?url%3Dhttp%3A%2F%2Fsd.jd.com%2Farticle%2F24444?

??【積微成著】規(guī)?;煦绻こ腆w系建設及AI融合探索:http://xingyun.jd.com/shendeng/article/detail/44438?forumId=99&jdme_router=jdme://web/202206081297?url%3Dhttp%3A%2F%2Fsd.jd.com%2Farticle%2F44438?

??【積微成著】“泰山變更管控”在物流技術(shù)的深入實踐:http://xingyun.jd.com/shendeng/article/detail/45193?forumId=1414&jdme_router=jdme%3A%2F%2Fweb%2F202206081297%3Furl%3Dhttp%3A%2F%2Fsd.jd.com%2Farticle%2F45193

審核編輯 黃宇

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

    關(guān)注

    6

    文章

    2319

    瀏覽量

    57575
  • AI
    AI
    +關(guān)注

    關(guān)注

    88

    文章

    35168

    瀏覽量

    280140
  • 數(shù)據(jù)庫
    +關(guān)注

    關(guān)注

    7

    文章

    3927

    瀏覽量

    66271
  • 分布式系統(tǒng)
    +關(guān)注

    關(guān)注

    0

    文章

    147

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    飛騰CPU在濟南機場實現(xiàn)規(guī)模化應用

    近日,隨著暑運大幕正式開啟,民航自主可控領域再傳捷報。中國航信和飛騰成功支持山東航空完成在濟南機場自助柜機軟硬件系統(tǒng)升級,實現(xiàn)了自助柜機百分百國產(chǎn)。這也是飛騰CPU在航空公司離港應用市場的首次規(guī)?;?/b>商業(yè)推廣落地。
    的頭像 發(fā)表于 07-10 15:43 ?243次閱讀

    廣和通加速5G+AI規(guī)?;?/b>應用

    規(guī)?;?/b>發(fā)展與豐富的行業(yè)應用,這也為AI提供連接血脈和數(shù)字通道。5G提供高帶寬、低時延的確定性網(wǎng)絡能力,支撐AI終端實時控制與數(shù)據(jù)增量訓練。
    的頭像 發(fā)表于 06-12 09:36 ?1579次閱讀

    軟通動力中標艾比森AI創(chuàng)新中心平臺升級項目

    近日,軟通動力成功中標深圳艾比森光電股份有限公司(以下簡稱“艾比森”)AI創(chuàng)新中心暨AI平臺升級項目。此次合作,是軟通動力深耕AI垂直領域持續(xù)實踐、不斷深入行業(yè)規(guī)?;?/b>與場景
    的頭像 發(fā)表于 06-10 10:11 ?524次閱讀

    IBM如何加速企業(yè)AI規(guī)?;?/b>應用

    近日,由北京市人民政府主辦的第 27屆中國北京國際科技產(chǎn)業(yè)博覽會在北京國家會議中心隆重召開。IBM 大中華區(qū)首席技術(shù)官、技術(shù)銷售總經(jīng)理翟峰先生作為受邀嘉賓出席了會議,并圍繞“加速企業(yè) AI 規(guī)模應用,釋放數(shù)智生產(chǎn)力”發(fā)表了精彩致辭。
    的頭像 發(fā)表于 05-16 14:45 ?405次閱讀

    NVIDIA助力安利生成式AI在效能和安全上破局

    依托 NVIDIA AI Enterprise 企業(yè)級解決方案,安利正在構(gòu)建安全、高效、可擴展的 AI 基礎設施體系,全面提升算力資源調(diào)度能力與推理服務工程化水平,為
    的頭像 發(fā)表于 05-10 09:28 ?650次閱讀

    AgiBot World Colosseo:構(gòu)建通用機器人智能的規(guī)?;?/b>數(shù)據(jù)平臺

    AgiBot World Colosseo:構(gòu)建通用機器人智能的規(guī)?;?/b>數(shù)據(jù)平臺 隨著人工智能在語言處理和計算機視覺領域取得突破,機器人技術(shù)仍面臨現(xiàn)實場景泛能力的挑戰(zhàn)。這一困境的核心在于高質(zhì)量機器人
    的頭像 發(fā)表于 03-12 11:42 ?1101次閱讀
    AgiBot World Colosseo:構(gòu)建通用機器人智能的<b class='flag-5'>規(guī)模化</b>數(shù)據(jù)平臺

    FPGA+AI王炸組合如何重塑未來世界:看看DeepSeek東方神秘力量如何預測......

    ?FPGA工程師如何發(fā)揮自身最大價值?在AI加持的時代,F(xiàn)PGA工程師可以通過以下方式發(fā)揮最大價值: 1.專注于AI與FPGA的融合應用?
    發(fā)表于 03-03 11:21

    AI智能體規(guī)?;?/b>應用前夜:英偉達NeMo Guardrails筑牢安全防線

    隨著AI智能體的快速發(fā)展,它們正變得日益復雜、自主且功能多樣,應用范圍也在持續(xù)擴大。然而,在AI智能體即將步入“規(guī)模就業(yè)”的新階段之前,安全問題成為了企業(yè)不可忽視的重大挑戰(zhàn)。為了確保AI
    的頭像 發(fā)表于 01-23 16:16 ?859次閱讀

    易控智駕礦山無人駕駛規(guī)?;?/b>應用兩項關(guān)鍵技術(shù)獲評國際領先

    、中國礦業(yè)大學、應急管理部信息研究院等單位共同完成的“大型露天煤礦卡車無人駕駛安全高效運行關(guān)鍵技術(shù)及規(guī)?;?/b>應用”科研成果進行了鑒定。
    的頭像 發(fā)表于 12-31 10:49 ?568次閱讀

    廣汽埃安攜手小馬智行打造Robotaxi規(guī)?;?/b>量產(chǎn)車型

    近日,廣汽埃安與小馬智行在廣汽集團番禺總部舉行Robotaxi戰(zhàn)略合作簽約儀式。根據(jù)協(xié)議,雙方將進一步合作打造具備商業(yè)運營競爭力的Robotaxi規(guī)?;?/b>量產(chǎn)車型,共同推動全無人Robotaxi量產(chǎn)商業(yè)落地。
    的頭像 發(fā)表于 12-12 13:47 ?517次閱讀

    東軟集團助力藥品智慧監(jiān)管體系建設

    近日,東軟與國家藥品監(jiān)督管理局信息中心達成合作,雙方將基于“人工智能+藥品智慧監(jiān)管”研發(fā)應用平臺,共同開展人工智能在藥品智慧監(jiān)管領域的深度研究、創(chuàng)新應用和實踐探索。此次合作將推動人工智能技術(shù)與藥品監(jiān)管業(yè)務的深度融合,提升藥品監(jiān)管的智能
    的頭像 發(fā)表于 12-06 15:51 ?577次閱讀

    蔚來能源武漢制造中心規(guī)?;?/b>量產(chǎn)

    近日,中國光谷迎來了蔚來能源武漢制造中心的一個重要里程碑——第100座換電站正式下線。這一事件標志著蔚來能源全球最大的能源產(chǎn)品生產(chǎn)基地已經(jīng)正式邁入規(guī)模化量產(chǎn)的新階段。 蔚來能源武漢制造中心占地面積約
    的頭像 發(fā)表于 12-06 11:38 ?979次閱讀

    江波龍自研主控芯片實現(xiàn)規(guī)?;?/b>導入

    近日,江波龍在接受機構(gòu)調(diào)研時透露,公司兩款自研主控芯片WM6000和WM5000已經(jīng)成功實現(xiàn)批量出貨,并完成了超千萬顆的規(guī)?;?/b>產(chǎn)品導入,市場反饋良好。
    的頭像 發(fā)表于 11-11 16:07 ?937次閱讀

    高通中國區(qū)董事長孟樸:5G與AI融合正加速企業(yè)數(shù)字轉(zhuǎn)型步伐

    終端側(cè)運行生成式AI具備快速響應、高準確性、強可靠性及更安全的隱私保護等優(yōu)勢,將促進生成式AI規(guī)模化發(fā)展,催生一系列全新應用,而5G提供的更可靠、低時延的端到云的連接能力,對消費者和企業(yè)使用A
    的頭像 發(fā)表于 11-07 16:11 ?352次閱讀

    2024快應用智慧服務生態(tài)白皮書發(fā)布,探索AI與快應用融合之路

    合作、流量獲取和商業(yè)以及AI隱私保護等多元角度,探索快應用在未來移動互聯(lián)網(wǎng)服務生態(tài)中的更多可能。 會上,由快應用生態(tài)分會成員單位OPPO、小米、vivo、華為、魅族、中興、努比亞、聯(lián)想、榮耀等理事長共同啟動了“快應用攜手
    的頭像 發(fā)表于 08-26 14:57 ?719次閱讀