在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

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

規(guī)模化混沌工程體系建設(shè)及AI融合探索

京東云 ? 來(lái)源:jf_75140285 ? 作者:jf_75140285 ? 2025-04-02 14:57 ? 次閱讀

1、何謂混沌工程?

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

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

2、混沌工程實(shí)驗(yàn)的核心原則

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

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

b、多樣化故障注入

多樣化的故障注入,是驗(yàn)證系統(tǒng)故障應(yīng)急能力的前提。混沌工程應(yīng)盡可能模擬真實(shí)世界中可能發(fā)生的各種故障或異常情況。包括不限于,硬件故障、軟件故障、網(wǎng)絡(luò)故障、人為錯(cuò)誤等。例如,服務(wù)器宕機(jī)、網(wǎng)絡(luò)延遲、數(shù)據(jù)庫(kù)故障、配置錯(cuò)誤等。

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

生產(chǎn)環(huán)境對(duì)演練實(shí)驗(yàn)的接納度,是確保故障演練實(shí)驗(yàn)精度和有效性的基礎(chǔ)要素。混沌工程實(shí)驗(yàn)最好在生產(chǎn)環(huán)境中進(jìn)行,因?yàn)樯a(chǎn)環(huán)境是最真實(shí)的系統(tǒng)運(yùn)行環(huán)境,能夠反映出系統(tǒng)在實(shí)際使用中的各種情況。當(dāng)然,在生產(chǎn)環(huán)境中進(jìn)行實(shí)驗(yàn)務(wù)必謹(jǐn)慎操作,確保實(shí)驗(yàn)不會(huì)對(duì)生產(chǎn)運(yùn)營(yíng)及用戶(hù)造成不良影響。

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

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

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

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

a、實(shí)驗(yàn)范圍圈定

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

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

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

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

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

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

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

2)業(yè)務(wù)監(jiān)控指標(biāo)

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

?

wKgZPGfs36uANLsDAATLYf72bfM371.png

c、實(shí)驗(yàn)場(chǎng)景構(gòu)建

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

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

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

①CPU使用率(單個(gè)故障場(chǎng)景樣例及核心參數(shù)解釋?zhuān)?/p>

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

?核心參數(shù)解釋

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

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

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

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

②更多場(chǎng)景及選型原則:混沌工程-故障演練場(chǎng)景選型及實(shí)施說(shuō)明?

2)復(fù)雜場(chǎng)景構(gòu)建

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

場(chǎng)景構(gòu)建說(shuō)明

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

(場(chǎng)景樣例)連接庫(kù)請(qǐng)求延遲&業(yè)務(wù)的異常流量注入

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

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

②單應(yīng)用多故障場(chǎng)景組合構(gòu)建

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

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

(場(chǎng)景樣例)核心依賴(lài)中間件MySQL請(qǐng)求延遲&CPU使用率增加場(chǎng)景

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

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

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

③多應(yīng)用多故障場(chǎng)景組合構(gòu)建

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

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

?

3)計(jì)劃外場(chǎng)景構(gòu)建

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

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

(場(chǎng)景樣例)JAVA進(jìn)程線(xiàn)程池滿(mǎn)(未在演練劇本內(nèi)的故障,觀(guān)察系統(tǒng)應(yīng)急能力)

通常在劇本評(píng)審階段,測(cè)試團(tuán)隊(duì)會(huì)與架構(gòu)團(tuán)隊(duì)完成全量場(chǎng)景評(píng)估,同時(shí)會(huì)提取部分場(chǎng)景,在約定演練時(shí)間計(jì)劃外執(zhí)行,研發(fā)團(tuán)隊(duì)對(duì)此類(lèi)故障的執(zhí)行計(jì)劃不知情,以此強(qiáng)化驗(yàn)證其應(yīng)急處理能力。

例如:在某計(jì)劃外場(chǎng)景演練過(guò)程中,發(fā)現(xiàn)2個(gè)問(wèn)題,①當(dāng)植入JAVA進(jìn)程線(xiàn)程池滿(mǎn)的故障時(shí),預(yù)期觸發(fā)CPU告警,研發(fā)團(tuán)隊(duì)并未第一時(shí)間同步報(bào)備。②在故障停止時(shí),預(yù)期所有機(jī)器及事務(wù)恢復(fù)正常,并由研發(fā)接口人報(bào)備同步恢復(fù)信息,但研發(fā)團(tuán)隊(duì)并未第一時(shí)間同步報(bào)備。

由此可見(jiàn),計(jì)劃外的場(chǎng)景,在識(shí)別系統(tǒng)應(yīng)急能力之外,可更多反映研發(fā)團(tuán)隊(duì),在故障處理過(guò)程中的組織協(xié)同能力。

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

?

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

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

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

(場(chǎng)景樣例)應(yīng)用CPU滿(mǎn)載混合單機(jī)流量激增

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

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

d、實(shí)驗(yàn)劇本構(gòu)建

1)劇本設(shè)計(jì)詳解

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

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

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

?故障演練方案-快遞快運(yùn)-分揀條線(xiàn)-2024年12月?

e、工具選型

1)工具選型原則

①功能特性

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

?實(shí)驗(yàn)場(chǎng)景定制化:混沌工程工具應(yīng)該允許用戶(hù)根據(jù)自己的系統(tǒng)特點(diǎn)和需求定制實(shí)驗(yàn)場(chǎng)景,提供豐富的實(shí)驗(yàn)?zāi)0澹⒖赏ㄟ^(guò)修改這些模板或編寫(xiě)自己的實(shí)驗(yàn)?zāi)_本來(lái)定制實(shí)驗(yàn)。這種靈活性使得用戶(hù)能夠模擬特定的業(yè)務(wù)場(chǎng)景下可能出現(xiàn)的故障,如模擬電商系統(tǒng)在購(gòu)物高峰期時(shí)數(shù)據(jù)庫(kù)查詢(xún)緩慢的情況。

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

②環(huán)境適配

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

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

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

③易用性和學(xué)習(xí)成本

?用戶(hù)界面友好程度

?直觀(guān)、易于操作的用戶(hù)界面可以降低用戶(hù)的學(xué)習(xí)成本和操作難度。例如,Gremlin 有一個(gè)相對(duì)直觀(guān)的 Web 界面,用戶(hù)可以通過(guò)簡(jiǎn)單的操作(如選擇故障類(lèi)型、目標(biāo)系統(tǒng)等)來(lái)設(shè)置和啟動(dòng)實(shí)驗(yàn)。對(duì)于非技術(shù)人員或者剛接觸混沌工程的團(tuán)隊(duì)成員來(lái)說(shuō),這樣的界面更容易上手。

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

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

④安全性和可靠性

?實(shí)驗(yàn)風(fēng)險(xiǎn)控制

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

?工具自身的可靠性

?工具本身應(yīng)該是可靠的,不會(huì)因?yàn)樽陨淼墓收隙鴮?dǎo)致實(shí)驗(yàn)結(jié)果不準(zhǔn)確或者對(duì)系統(tǒng)造成額外的干擾。可以查看工具的版本更新記錄、用戶(hù)評(píng)價(jià)等信息來(lái)了解工具的可靠性情況。例如,經(jīng)過(guò)多個(gè)企業(yè)長(zhǎng)時(shí)間使用且更新頻繁的工具,通常在可靠性方面有更好的保障。

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

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

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

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

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

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

②業(yè)界工具平臺(tái)及能力對(duì)標(biāo)

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

?

f、執(zhí)行實(shí)驗(yàn)

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

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

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

②識(shí)別關(guān)鍵組件和依賴(lài)關(guān)系

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

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

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

④識(shí)別單點(diǎn)故障

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

⑤優(yōu)化故障演練設(shè)計(jì)

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

⑥評(píng)估故障影響范圍

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

⑦加強(qiáng)團(tuán)隊(duì)的協(xié)作與溝通

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

⑧支持持續(xù)改進(jìn)

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

?

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

?

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

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

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

?梳理演練(壓測(cè)同理)接口調(diào)用架構(gòu)圖,標(biāo)識(shí)調(diào)用鏈路強(qiáng)弱依賴(lài)、調(diào)用層級(jí)關(guān)系以及演練(壓測(cè)同理)切入點(diǎn)。

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

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

wKgZO2fs36yAU_OLAAQiMfG1NNM156.jpg

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

wKgZPGfs366AX5YkAA1_4W2nn1A346.jpg

②調(diào)用鏈?zhǔn)崂砦臋n(樣例):快快接口梳理(常態(tài)化演練)?

3)實(shí)驗(yàn)方案

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

①方案樣例

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

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

?

g、結(jié)果分析

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

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

?應(yīng)用:workbench-xxxxx-backend-xxxxx

?故障場(chǎng)景:強(qiáng)依賴(lài)JSF超時(shí)不可用+弱依賴(lài)JSF超時(shí)不可用

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

?問(wèn)題現(xiàn)象

?下游強(qiáng)依賴(lài)接口(計(jì)費(fèi)系統(tǒng))持續(xù)響應(yīng)3S,TP99飚高,可用率未下降,仍100%

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

?問(wèn)題原因

?針對(duì)強(qiáng)依賴(lài)接口,下游超時(shí)未上報(bào)可用率下降

?告警時(shí)間配置10min,告警配置不敏感

?改進(jìn)措施

?針對(duì)強(qiáng)依賴(lài)接口,下游超時(shí)上報(bào)可用率下降

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

?

h、問(wèn)題修復(fù)及重復(fù)實(shí)驗(yàn)

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

?目前快快技術(shù)團(tuán)隊(duì),在演練過(guò)程中,關(guān)鍵問(wèn)題修復(fù)之后,會(huì)針對(duì)性進(jìn)行二次驗(yàn)證。

?

i、成熟度評(píng)估

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

混沌工程成熟度模型是一種框架,用于評(píng)估和指導(dǎo)組織在實(shí)施混沌工程實(shí)踐中的發(fā)展階段和成熟度。這個(gè)模型幫助組織理解它們?cè)诨煦绻こ虒?shí)踐中的位置,并為進(jìn)一步改進(jìn)提供路線(xiàn)圖。

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

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

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

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

2)成熟度評(píng)估案例

基于成熟度模型的關(guān)鍵維度,我們對(duì)多個(gè)研發(fā)團(tuán)隊(duì),進(jìn)行了實(shí)際的落地評(píng)估工作,具體某個(gè)團(tuán)隊(duì)的評(píng)估過(guò)程,詳見(jiàn)下表。

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

4、移動(dòng)端混沌實(shí)驗(yàn)

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

a、核心原則

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

b、核心要素

1)故障場(chǎng)景庫(kù)設(shè)計(jì)

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

2)實(shí)驗(yàn)優(yōu)先級(jí)矩陣

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

c、工具鏈與自動(dòng)化集成

1)分層工具矩陣

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

2)自動(dòng)化流水線(xiàn)設(shè)計(jì)

wKgZO2fs38CATxqZAAEjUBa6py0758.png

d、落地實(shí)施步驟

1)設(shè)備覆蓋計(jì)劃

測(cè)試設(shè)備根據(jù)一線(xiàn)使用頻率較高的系統(tǒng)版本和設(shè)備類(lèi)型的TOP3來(lái)選擇。

wKgZPGfs38GAC66NAAN8CV8ShCw436.png

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

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

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

?

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

a、AI場(chǎng)景下的混沌實(shí)驗(yàn)

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

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

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

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

?

2)AI大模型混沌工程實(shí)驗(yàn)

①實(shí)驗(yàn)?zāi)繕?biāo)

?驗(yàn)證大模型服務(wù)降級(jí)/熔斷策略的有效性

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

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

?驗(yàn)證模型性能監(jiān)控與自動(dòng)恢復(fù)機(jī)制。

②實(shí)驗(yàn)原則

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

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

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

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

③實(shí)驗(yàn)標(biāo)準(zhǔn)

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

④場(chǎng)景設(shè)計(jì)原則

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

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

?

b、快遞快運(yùn)小哥AI智能助手-混沌工程探索

1)系統(tǒng)簡(jiǎn)介

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

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

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

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

3)實(shí)驗(yàn)場(chǎng)景

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

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

?

c、混沌工程的AI智能化演進(jìn)展望

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

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

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

?

①實(shí)驗(yàn)設(shè)計(jì)智能化

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

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

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

通過(guò)借助AI智能實(shí)驗(yàn)方案設(shè)計(jì),獲得以下收益。

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

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

?

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

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

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

?

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

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

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

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

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

?

2)AI驅(qū)動(dòng)的混沌工程平臺(tái)能力升級(jí)

①混沌工程工具AI能力建設(shè)焦點(diǎn)

以下針對(duì)目前的發(fā)展方向,混沌工程平臺(tái),可基于以下幾個(gè)方面拓展能力升級(jí)。

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

②自動(dòng)化工具鏈的升級(jí)

當(dāng)前的各類(lèi)工具主要依賴(lài)手動(dòng)配置,通過(guò)AI的引入使得工具能夠從以下幾個(gè)維度升級(jí)

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

③應(yīng)用層故障注入的精細(xì)化

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

④場(chǎng)景擴(kuò)展

?智能化場(chǎng)景推薦

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

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

?云原生與邊緣計(jì)算

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

?跨學(xué)科復(fù)雜系統(tǒng)模擬

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

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

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

??【積微成著】性能測(cè)試調(diào)優(yōu)實(shí)戰(zhàn)與探索(存儲(chǔ)模型優(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ī)模化混沌工程體系建設(shè)及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ù)的深入實(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)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀(guān)點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 監(jiān)控
    +關(guān)注

    關(guān)注

    6

    文章

    2311

    瀏覽量

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

    關(guān)注

    88

    文章

    34588

    瀏覽量

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

    關(guān)注

    7

    文章

    3905

    瀏覽量

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

    關(guān)注

    0

    文章

    147

    瀏覽量

    19577
收藏 人收藏

    評(píng)論

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

    廣和通加速5G+AI規(guī)模化應(yīng)用

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

    軟通動(dòng)力中標(biāo)艾比森AI創(chuàng)新中心平臺(tái)升級(jí)項(xiàng)目

    近日,軟通動(dòng)力成功中標(biāo)深圳艾比森光電股份有限公司(以下簡(jiǎn)稱(chēng)“艾比森”)AI創(chuàng)新中心暨AI平臺(tái)升級(jí)項(xiàng)目。此次合作,是軟通動(dòng)力深耕AI垂直領(lǐng)域持續(xù)實(shí)踐、不斷深入行業(yè)規(guī)模化與場(chǎng)景
    的頭像 發(fā)表于 06-10 10:11 ?323次閱讀

    IBM如何加速企業(yè)AI規(guī)模化應(yīng)用

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

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

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

    AI智能體規(guī)模化應(yīng)用前夜:英偉達(dá)NeMo Guardrails筑牢安全防線(xiàn)

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

    易控智駕礦山無(wú)人駕駛規(guī)模化應(yīng)用兩項(xiàng)關(guān)鍵技術(shù)獲評(píng)國(guó)際領(lǐng)先

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

    廣汽埃安攜手小馬智行打造Robotaxi規(guī)模化量產(chǎn)車(chē)型

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

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

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

    蔚來(lái)能源武漢制造中心規(guī)模化量產(chǎn)

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

    江波龍自研主控芯片實(shí)現(xiàn)規(guī)模化導(dǎo)入

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

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

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

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

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

    東土科技自主研發(fā)的人工智能交通服務(wù)器實(shí)現(xiàn)規(guī)模化應(yīng)用

    在智能交通領(lǐng)域,一場(chǎng)由東土科技引領(lǐng)的技術(shù)革新正悄然改變著城市交通的面貌。近日,東土科技自主研發(fā)的人工智能交通服務(wù)器在北京城市副中心通州區(qū)成功實(shí)現(xiàn)了580處交通路口的規(guī)模化應(yīng)用,標(biāo)志著我國(guó)智能交通建設(shè)邁出了堅(jiān)實(shí)的一步。
    的頭像 發(fā)表于 07-17 15:42 ?723次閱讀

    IBM加速AI規(guī)模化應(yīng)用,解鎖企業(yè)新質(zhì)生產(chǎn)力

    今天,由北京市貿(mào)促會(huì)主辦、以“吸收外資,助力北京高水平對(duì)外開(kāi)放”為主題的北京國(guó)際投資貿(mào)易洽談(京洽會(huì))會(huì)在國(guó)家會(huì)議中心成功舉行。IBM 大中華區(qū)董事長(zhǎng)、總經(jīng)理陳旭東應(yīng)邀參會(huì),并以“加速 AI 規(guī)模化應(yīng)用,解鎖企業(yè)新質(zhì)生產(chǎn)力”為題作主旨演講。
    的頭像 發(fā)表于 07-16 09:46 ?862次閱讀
    IBM加速<b class='flag-5'>AI</b><b class='flag-5'>規(guī)模化</b>應(yīng)用,解鎖企業(yè)新質(zhì)生產(chǎn)力

    IBM陳旭東:攜手IBM加速 AI 規(guī)模化應(yīng)用,解鎖企業(yè)新質(zhì)生產(chǎn)力

    、總經(jīng)理陳旭東應(yīng)邀參會(huì),并以"加速 AI 規(guī)模化應(yīng)用,解鎖企業(yè)新質(zhì)生產(chǎn)力"為題作主旨演講。 他認(rèn)為,在企業(yè)規(guī)模化應(yīng)用AI的路徑中,最關(guān)鍵的是如何把企業(yè)數(shù)據(jù)轉(zhuǎn)化為
    的頭像 發(fā)表于 07-15 16:13 ?507次閱讀
    IBM陳旭東:攜手IBM加速 <b class='flag-5'>AI</b> <b class='flag-5'>規(guī)模化</b>應(yīng)用,解鎖企業(yè)新質(zhì)生產(chǎn)力
    主站蜘蛛池模板: 四虎在线视频观看 | 亚洲一区有码 | 美女张开腿让男生桶出水 | 色www免费视频 | 一本大道一卡二卡四卡 | 日韩欧美在线中文字幕 | 99婷婷| 性生大片免费观看无遮挡 | 欧美伦理一区二区三区 | 亚洲狠狠网站色噜噜 | 91国内视频 | 1024你懂的在线播放欧日韩 | 色视频网站人成免费 | 日本高清视频色wwwwww色 | 性欧美videofree另类超大 | 免费人成在线观看网站品爱网日本 | 五月婷婷视频在线 | 亚洲成人免费在线观看 | 一级一级一片免费高清 | 性久久久久久久久久 | 国内真实下药迷j在线观看 国内自拍 亚洲系列 欧美系列 | 亚洲欧美日韩特级毛片 | 婷婷爱五月天 | 免费看国产精品久久久久 | 伊人色婷婷综在合线亚洲 | 91久久青草精品38国产 | 亚洲天堂一区二区三区 | 大片毛片女女女女女女女 | 伊人久久香 | 永久免费精品影视网站 | 毛片不卡一区二区三区 | 狠狠干免费视频 | 国模论坛 | 最新国产在线播放 | 黄色国产 | 都市禁忌猎艳风流美妇 | 把小嫩嫩曰出白浆 | 国产玖玖在线 | 美女视频网站免费播放视 | 天天怕夜夜怕狠狠怕 | 天堂w|