1、全球敏捷運維峰會廣州站騰訊游戲混沌工程實踐吳召軍全球敏捷運維峰會廣州站目錄什么是混沌工程混沌工程平臺建設混沌工程實踐案例全球敏捷運維峰會廣州站什么是混沌工程主動在分布式系統上進行異常實驗,觀察系統行為,發現系統弱點與新知識,并持續優化和實驗,不斷提高系統容錯能力,讓人們建立復雜分布式系統能夠抵御突發事件的信心?;煦绻こ痰亩x全球敏捷運維峰會廣州站什么是混沌工程故障預防故障發現故障響應故障定位故障恢復復盤改進架構評估優化容量評估優化全鏈路壓測監控覆優化應急預案優化日志工具就緒觀測工具就緒應急演練到位專家風險把控故障容災演練監控告警主動撥測用戶反饋輿情監控定期巡檢客服反饋測試發現運行預測AIOPS
2、告警觸達應急協同故障影響評估預案啟動客服周知故障公告故障同步告警分析日志分析鏈路分析監控分析運營數據分析變更分析診斷工具定位專家決策AIOPS進展同步容災切換擴容升配服務重啟版本發布配置變更限流、熔斷降級應急預案隔離進展同步沙盤演練過程推理根因分析故障復現故障影響統計改進措施同類排查問題跟進故障總結同步混沌工程防患未然檢測快(MTTD)響應快定位快恢復快(MTTR)復盤演練全球敏捷運維峰會廣州站1)混沌體系能力提升2)定制計劃評估風險3)實驗執行結果反饋4)架構優化能力提升5)優化反饋提交驗證混沌工程實踐事件編排指標觀測環境恢復實驗報告架構優化版本迭代開發能力運維能力1)混沌體系能力提升根據業
3、務場景給混沌能力的反饋與要求,不斷迭代建設Chaos體系。2)定制計劃評估風險從業務實際場景出發,設計具體實驗計劃,包括實驗目標、范圍、故障,選取穩態觀察指標,限定爆炸半徑,控制風險。3)實驗執行并反饋結果執行前檢查事件編排,查看當前觀測指標狀態,確認無誤后下發實驗,實驗過程中觀測穩態指標表現,據此判斷實驗是否符合預期,實驗結束后恢復環境,同時輸出實驗報告。4)架構優化與能力提升業務相關干系人(運維、開發、測試等人員)收到結果反饋后需對已存問題進行review、評估整改方案、修復計劃并檢查同類問題,最后進行系統升級。5)優化反饋并提交驗證根據業務的優化反饋,再次提交實驗請求,驗證改進是否生效,
4、進入下一輪混沌實驗環節?;煦绻こ唐脚_建設全球敏捷運維峰會廣州站混沌工程平臺建設:流程設計實驗前實驗中實驗后故障場景穩態指標實驗編排故障注入故障觀測實驗防護故障恢復實驗報告匯總分析問題跟進統計度量靶點管理全球敏捷運維峰會廣州站混沌工程平臺建設:故障原子存儲計算資源網絡節點/容器磁盤空間滿IO高負載IO延遲IO錯誤文件句柄耗盡文件刪除丟包、延遲亂序、重復帶寬滿限速端口耗盡DNS篡改關機X秒開機重啟/銷毀重建刪pod殺容器殺pod應用殺進程進程僵死狀態碼錯誤Body篡改請求延遲訪問量激增CPU負載高單核CPU負載高內存滿應用內存滿虛擬內存滿GPU負載高自研CHAOS TOOL網關MESH開源CHAO
5、S TOOL自定義shell腳本Python腳本二進制包API插件開源工具接入全球敏捷運維峰會廣州站混沌工程平臺建設:容器故障注入https:/chaos-mesh.org/全球敏捷運維峰會廣州站混沌工程平臺建設:應用故障注入Control PlaneService-AGWService-BGWService-CGWService-1GWService-2GWService-3GWService-XGWService-YGWService-ZGW網關MESH:服務治理,鏈路跟蹤。全球敏捷運維峰會廣州站混沌工程平臺建設:應用故障注入請求網關響應通用治理負載均衡服務發現健康檢查熔斷限流監控度量訪問
6、日志應用治理登陸校驗訪問控制服務加密參數校驗調用跟蹤流量復制混沌工程狀態碼注入延遲注入Header注入Body注入帶寬限制用戶過濾全球敏捷運維峰會廣州站混沌工程平臺建設:應用故障注入應用層故障注入全球敏捷運維峰會廣州站混沌工程平臺建設:實驗編排全球敏捷運維峰會廣州站混沌工程平臺建設:實驗觀測基礎監控系統業務監控系統Prometheus全球敏捷運維峰會廣州站混沌工程平臺建設:實驗報告數據記錄問題分析跟進解決改進方案全球敏捷運維峰會廣州站混沌工程平臺建設:收益傳統故障演練:混沌平臺演練:編排實驗執行實驗觀察實驗功能齊全的自助化和自動化工具30分鐘10分鐘10分鐘1分鐘5分鐘5分鐘1分鐘2分鐘1分鐘
7、1分鐘小時級分鐘級全球敏捷運維峰會廣州站混沌工程實踐實踐要點基礎設施/平臺實踐目標業務/應用組織/流程控制風險自動化實驗紅藍對抗全球敏捷運維峰會廣州站混沌工程實踐:風險控制切爾諾貝利核反應堆廢墟演習環境,預生產環境,生產環境環境遞進指定用戶,指定微服務,指定大區范圍遞進一鍵終止,觸發閾值自動終止實驗防護避免流量高峰期,人齊且通知到位時機選擇全球敏捷運維峰會廣州站混沌工程實踐:風險控制演習環境預發布環境生產環境結論:演習環境自測+預發布環境(每日自動化實驗)+生產環境(半年一次)相結合可控性:低風險系數高,可能造成業務損失演習有效性:高演習效果真實有效人力成本:高演習需要多方人力參與可控性:較高
8、對線上業務基本上不會有影響演習有效性:較高接近線上的環境,效果較為有效人力成本:低可自動化,無需人力參與可控性:高不會影響線上業務演習有效性:中與線上完全隔離,有效性一般人力成本:低可自動化,無需人力參與全球敏捷運維峰會廣州站混沌工程實踐:實驗防護圖片來自網絡登記exporter,上報穩態指標到混沌實驗平臺配置熔斷規則(閾值、自定義PROMSQL)超過閾值,觸發熔斷,立即終止實驗全球敏捷運維峰會廣州站混沌工程實踐:自動化混沌實驗發布流水線集成混沌實驗套餐,自動引用、執行。全球敏捷運維峰會廣州站混沌工程實踐:紅藍對抗制定攻防制度日常紅黑榜,每周推送設定故障分,常態化演練設定演練分,突襲演練常態攻防,培養風險氛圍大型攻防,固定攻防日全球敏捷運維峰會廣州站混沌工程實踐:實驗內容實驗分類實驗目標單點故障檢測故障隔離、主備切換、健康探針有效性告警驗證檢測告警系統的有效性,檢驗組織協作響應機制強弱依賴檢測不合理的依賴關系,驗證高內聚低耦合架構網絡抖動檢測快速失敗、失敗重試策略機房故障檢測異地容災、故障隔離策略的有效性第三方故障檢測降級、熔斷策略以及本地緩存的有效性過載保護檢測防刷、拒絕服務攻擊、流控規則的有效性全球敏捷運維峰會廣州站THANK YOU!