今日看點:張國棟:浦發(fā)銀行混沌工程探索與實踐
為了應對用戶體驗需求的日益增長、業(yè)務敏捷化的持續(xù)發(fā)展,金融行業(yè)分布式架構轉型工作逐步深入。隨之而來引入的DevOps工程、云原生和微服務治理等技術,在提升應用交付能力的同時,極大地增加了應用架構復雜度和系統(tǒng)潛在風險?;煦绻こ套鳛榉植际较到y(tǒng)穩(wěn)定性保障的主流技術,近年來備受關注。混沌工程就是利用受控的經(jīng)驗導向實驗提前探知系統(tǒng)潛在風險,通過優(yōu)化架構和改進運維模式來解決該風險,真正實現(xiàn)韌性架構,降低損失,提高故障免疫力。浦發(fā)銀行從2021年開始探索混沌工程核心理論,并在仿真環(huán)境完成了應用實踐。通過混沌工程實施提前探知諸多風險,提升對系統(tǒng)穩(wěn)定運行的信心。同時混沌理念隨著實施范圍的擴大,逐步深入人心,提升了研發(fā)過程中對系統(tǒng)可用性、容錯性、可恢復性的關注程度。
上海浦東發(fā)展銀行信息科技部(金科中心) 副總經(jīng)理 張國棟
(資料圖)
混沌工程的背景
1.混沌工程VS傳統(tǒng)演練
為了提升系統(tǒng)的穩(wěn)定性,在傳統(tǒng)研發(fā)運維過程中會開展大量的健壯性測試或高可用演練,這些均是對系統(tǒng)已具備的特性的驗證,有明確的目標及系統(tǒng)表現(xiàn)預期。而混沌工程更注重基于生產(chǎn)事件分析,將歷史發(fā)生過的故障注入到未發(fā)生的系統(tǒng)中,探知系統(tǒng)會如何應對,通過不斷實驗,沉淀經(jīng)驗,指導系統(tǒng)架構優(yōu)化,從源頭推動系統(tǒng)穩(wěn)定性建設,從而融入研發(fā)全流程,促使系統(tǒng)穩(wěn)定性持續(xù)改進。因此,混沌工程其實是一項涉及檢測、治理、提升的閉環(huán)工作。
2.混沌工程模式
混沌實驗是混沌工程的核心關鍵,也是工程應用實踐的最重要環(huán)節(jié)?;煦鐚嶒炘趧?chuàng)始公司Netflix被稱為“GAMEDAY”,是一場開發(fā)、測試、運維等各個環(huán)節(jié)人員共同參與的“游戲”。混沌實驗有定義系統(tǒng)穩(wěn)態(tài)假設、在系統(tǒng)上模擬可能發(fā)生的故障(即故障注入)、觀察發(fā)現(xiàn)潛在問題三個主要環(huán)節(jié),可在開發(fā)自測、集成測試、投產(chǎn)運行等多個階段開展。隨著工程成熟度的提升,故障注入的模式由手工命令、工具注入、平臺規(guī)?;幣?、逐步向自動化演練轉變。初期探索階段,通過手工命令和工具注入方式可以快速地實踐和了解混沌工程,并收集到一些基本的系統(tǒng)運行問題,累積實施經(jīng)驗?;煦绻こ掏茝V階段,則需要通過實驗平臺等工具建設來滿足日益增長的實驗復雜度和系統(tǒng)規(guī)?;鲩L。最后,“游戲”的模式逐步演化成紅藍對抗、生產(chǎn)突襲等。
浦發(fā)銀行混沌工程實踐
浦發(fā)銀行的混沌工程實踐主要涉及兩大部分:作為關鍵的核心實驗流程;人員培養(yǎng)、平臺建設、技術指引等配套支持(見圖1所示)。
圖1 混沌工程實踐要點
1.混沌實驗流程
經(jīng)過在分布式改造、系統(tǒng)上云、生產(chǎn)高可用演練等多項重大科技項目配套混沌工程實踐路徑的探索,浦發(fā)銀行逐步形成了標準化的實施流程,涵蓋團隊組建、實驗設計、實驗執(zhí)行、風險分析、優(yōu)化驗證等流程節(jié)點。
混沌工程是一項系統(tǒng)工程,每次實施前需要召集開發(fā)、測試、運維三方核心人員組建實施團隊,并根據(jù)系統(tǒng)特性邀請相關技術專家參與。實驗設計、實驗執(zhí)行、風險分析、架構優(yōu)化則是一個持續(xù)的過程。通過實驗故障注入得以觀察系統(tǒng)的故障應對表現(xiàn),總結相關的問題風險,完成架構優(yōu)化或形成應急手冊,并在后續(xù)實驗過程中再次驗證。
2.混沌實驗設計
故障實驗是整個混沌工程的核心部分。為了保障實驗的有效性和完整性,設計時需從實驗對象、故障場景、爆炸半徑、預期表現(xiàn)等四個方面進行分析。
(1)實驗對象:實驗對象即被注入故障的關鍵節(jié)點。實驗對象設計來源于對系統(tǒng)內部調用鏈路,上下游依賴與流轉關鍵點的分析。通常系統(tǒng)的實驗對象按功能分為應用、中間件、轉發(fā)組件、轉發(fā)硬件、數(shù)據(jù)庫、公共組件、公共平臺等。進行設計時,一般會預先設置單個或多個實驗對象。為了強化實驗的探索性,也可采用隨機選擇實驗對象及故障的設計方法,形成更復雜的故障場景。
(2)故障場景:實驗中故障場景主要來源于浦發(fā)銀行混沌知識庫。知識庫是根據(jù)浦發(fā)銀行現(xiàn)有技術棧情況,著力于歷史發(fā)生故障記錄及共性系統(tǒng)風險分析,逐步形成的基于容器、虛機、負載均衡設備等基礎分類標準實驗場景及對應執(zhí)行策略的集合。知識庫優(yōu)先吸納發(fā)生頻率高,風險高的問題對應場景,并在后續(xù)實踐中不斷更新完善。知識庫的建立一定程度上降低了后續(xù)場景設計的成本。需要注意的是,如果發(fā)現(xiàn)系統(tǒng)不具備應對某些故障的措施,那么在場景設計時不建議將這些故障點納入實驗,而應該考慮先期進行優(yōu)化,以規(guī)避風險問題發(fā)生。
(3)爆炸半徑:實驗爆炸半徑代表著故障對系統(tǒng)影響范圍的控制。通過分析實驗選擇的業(yè)務交易鏈路及注入的故障,可以初步圈定會受影響的系統(tǒng)節(jié)點。實驗爆炸半徑定義的越準確,實驗的受控程度和安全性越高。
(4)預期表現(xiàn):預期表現(xiàn)是穩(wěn)態(tài)假設的具體實現(xiàn),通常是針對系統(tǒng)故障處理技術分析后,給出的故障注入后系統(tǒng)可能發(fā)生的行為。一般重點關注故障期間和故障銷毀后的運行表現(xiàn)。通過設置量化的業(yè)務指標(如系統(tǒng)處理能力)、資源監(jiān)控指標(如CPU使用率),定義具體處理措施表現(xiàn),如前端顯示兜底數(shù)據(jù)、系統(tǒng)警告日志等,實現(xiàn)預期表現(xiàn)的具體觀測方案。
實驗中通過模擬或導入相對穩(wěn)定的業(yè)務流量壓力,可以讓故障注入后的預期指標偏離度更易觀察及分析。實驗數(shù)據(jù)分析時,將實際監(jiān)測到的數(shù)據(jù)與預期表現(xiàn)(穩(wěn)態(tài)假設)作比較,分析二者的偏差值后,就可以評估出系統(tǒng)故障應對措施的有效性以及故障影響范圍。
3.混沌工程實施架構
混沌工程實施架構主要包括流量模擬平臺、監(jiān)控平臺、故障注入平臺、實驗環(huán)境四個部分(如圖2所示)。
圖2 混沌工程實施架構
(1)流量模擬平臺。以浦發(fā)銀行性能測試一體化實施平臺為基礎,通過腳本錄制回放等方式,產(chǎn)生業(yè)務流量,并通過分流網(wǎng)關引導至實驗節(jié)點。在模擬的固定業(yè)務壓力流量下,系統(tǒng)呈現(xiàn)相對穩(wěn)定運行的狀態(tài),為后續(xù)實驗創(chuàng)建理想的參照指標,并對業(yè)務數(shù)據(jù)指標進行詳細匯總分析,供可視化監(jiān)控平臺取數(shù)。
(2)可視化監(jiān)控平臺。實驗過程中實時可視化監(jiān)控指標展示,有助于對問題及時進行定位,更好地分析出運行中的風險。監(jiān)控平臺環(huán)境部署了智能監(jiān)控平臺、日志分析平臺、郵件報警系統(tǒng),監(jiān)控指標項覆蓋了系統(tǒng)處理能力、交易響應時間等業(yè)務指標,服務器CPU、磁盤等基本資源使用率,容器資源使用情況,進程級別使用情況,JVM運行情況等。部分系統(tǒng)強化部署了日志分析平臺及定制化的告警郵件,用于對抗演練中快速匯報問題。
(3)故障注入平臺。浦發(fā)銀行混沌工程平臺,以支持工程化混沌工程實施為建設目標,平臺主體含5個主要功能模塊:故障注入、實驗編排、實驗檢測、實驗報告及平臺管理。平臺一期已具備X86服務器、容器等基礎資源級、應用進程級、應用方法級等故障注入能力;能提供靈活的實驗編排,支持組合式多故障注入,可演化出豐富的實驗場景。通過平臺的建設,混沌實驗的注入操作步驟能夠更加規(guī)范化,避免出現(xiàn)故障歧義導致不可控風險。未來二期建設將重點關注實驗保護、外部流程平臺對接等特性,進一步提升實驗安全性,并著力于平臺能力輸出,將混沌工程以更規(guī)范、更便捷的方式融入研發(fā)工作各環(huán)節(jié)。
(4)實驗環(huán)境。在業(yè)務連續(xù)性保障的要求下,銀行對系統(tǒng)穩(wěn)定性有著非常高的要求?;煦绻こ汤砟钤谟诠膭罟收蠈嵺`,意味著在越接近生產(chǎn)的環(huán)境中實施,探知的風險越真實。因此,建立貼近生產(chǎn)的仿真環(huán)境,對于開展混沌實驗是一個較為合適的方案。為了保障對客互聯(lián)網(wǎng)類系統(tǒng)能順利承接各類業(yè)務獲客、促活、引流等活動,浦發(fā)銀行按照生產(chǎn)架構分步搭建了仿真環(huán)境,涉及30多個重要系統(tǒng),覆蓋多條關鍵業(yè)務鏈路,并配套部署了監(jiān)控告警、日志分析系統(tǒng)。目前仿真環(huán)境承接了日常權益類業(yè)務活動、“雙十一”支付等重要業(yè)務全鏈路性能測試以及保障工作。同時承擔了這些重要系統(tǒng)及關鍵交易鏈路的混沌實驗。
實驗過程中,需要將實驗環(huán)境拆分成2個對照組。對照組可以是完整的鏡像環(huán)境,如2個互備集群,也可以是同一集群中的不同業(yè)務鏈路,如涉及微服務、虛機等有一定的交叉調用。鏡像環(huán)境對照組用來比較在同等業(yè)務流量下,故障發(fā)生前后系統(tǒng)應對表現(xiàn),如熔斷、隔離等特性的實現(xiàn)情況。同一集群中的不同業(yè)務鏈路,用來觀察業(yè)務間故障的隔離性,避免級聯(lián)故障的發(fā)生。
總結與展望
混沌工程不僅是一項IT系統(tǒng)分布式轉型下誕生新的技術,更是一門推進整個研發(fā)流程協(xié)同并進、實現(xiàn)成效優(yōu)化內循環(huán)的工程化學科。通過混沌工程的實踐,不僅能讓未知的風險在發(fā)生前提前被暴露并優(yōu)化;同時,也將研發(fā)流程上不同角色的工程師緊密聯(lián)系在一起,共同思考如何實現(xiàn)系統(tǒng)穩(wěn)定性。在混沌工程的收益顯現(xiàn)后,技術架構團隊總結的各種共性問題以及通用解決方案,可以讓其他系統(tǒng)在建設以及故障排查過程中借鑒采納,使得混沌工程融入整個研發(fā)流程。
目前浦發(fā)銀行的混沌工程實踐主要基于上云架構改造系統(tǒng)投產(chǎn)前韌性能力獲取、系統(tǒng)高可用演練、特定問題分析、系統(tǒng)故障定位、對抗演練等目的開展。2022年已累計完成50多次實驗,發(fā)現(xiàn)了系統(tǒng)故障期間熔斷策略漏洞、公共組件異常后應用流量無法切換、演練步驟中部分預期外的節(jié)點影響等問題;總結并編撰了《混沌工程實施技術指引》,整理發(fā)布多期混沌工程實施理論與案例的宣貫文章;并通過流量平臺、故障注入平臺以及監(jiān)控平臺的建設,加強對于復雜故障場景的驗證,逐步實現(xiàn)了標準化、工程化、規(guī)模化的混沌工程實施模式,有效提升系統(tǒng)穩(wěn)定性。
為進一步提升混沌工程的應用成效,未來考慮從以下三方面推進混沌工程向縱深發(fā)展:第一,實驗開展節(jié)點逐步前移至開發(fā)自測階段,納入DevOps流程,實現(xiàn)問題早發(fā)現(xiàn)、早排除。第二,針對混沌實驗發(fā)現(xiàn)的問題,進一步提煉形成公共解決方案,建立從需求、開發(fā)、測試、運維等全流程信息共享的機制,從系統(tǒng)設計初期排除隱患。第三,針對目前問題分析大量依賴于人工的情況,考慮建設全鏈路跟蹤平臺、智能監(jiān)控平臺實現(xiàn)部分問題的自動驗證對接,提高實驗和分析的自動化程度,降低實施成本。
浦發(fā)銀行通過實踐混沌工程,形成了一套適配上云及分布式改造轉型的技術指引和實施框架,并獲取及解決部分系統(tǒng)隱患。未來將進一步研究和完善混沌工程實驗技術,以期在更多領域發(fā)揮所長。
(欄目編輯:張麗霞)
- 今日看點:張國棟:浦發(fā)銀行混沌工程探索與實踐(2023-01-18 10:45:00)
- 天天微動態(tài)丨這個春節(jié),大廠不再瘋狂發(fā)紅包:金額對半砍,用戶“玩不動也玩不懂”(2023-01-18 10:44:03)
- 天天新動態(tài):【看新股】亞德林更新招股書:毛利率、研發(fā)費用率不及行業(yè)均值 應收賬款占營收比重大(2023-01-18 10:53:37)
- 新能源龍頭股票有哪些?龍頭股是什么?(2023-01-18 10:49:07)
- 股票帶n字頭的是什么?股票名字前面“L”是指什么?(2023-01-18 10:48:21)
- 上班路上發(fā)生交通事故怎樣賠?交通事故主要包括什么?(2023-01-18 10:47:44)
- 北交所打新股的規(guī)則有哪些?北交所股票可能存在哪些風險?(2023-01-18 10:46:51)
- 牡丹卡是信用卡嗎?牡丹國際信用卡有哪些特征?(2023-01-18 10:46:06)
- 基金贖回確認成功后多久到賬?贖回金額的處理方式是什么?(2023-01-18 10:45:22)
- 什么是他項權證?他項權證有什么作用?(2023-01-18 10:44:24)
- 股指基金是什么意思?股指基金的特點有哪些?(2023-01-18 10:43:51)
- 往境外匯款有什么限制?外匯和外鈔有什么區(qū)別?(2023-01-18 10:43:04)
- 個人通知存款什么意思?通知存款相關介紹(2023-01-18 10:42:25)
- 哪個銀行可以兌換外幣?兌換外幣需要帶哪些有效證件?(2023-01-18 10:41:26)
- 貸記卡是什么?貸記卡和信用卡有什么區(qū)別?(2023-01-18 10:40:27)
- 中國郵政儲蓄銀行綠卡通是什么卡?綠卡通有哪些功能?(2023-01-18 10:39:46)
- 農(nóng)村信用社助學貸款還款方式有哪些?農(nóng)村信用社助學貸款還款流程?(2023-01-18 10:36:55)
- 銀行活期利息怎么計算?銀行活期利息計算公式是什么?(2023-01-18 10:36:22)
- 平安理財產(chǎn)品有哪些?平安理財產(chǎn)品分為幾大類?(2023-01-18 10:35:39)
- 投資基金的四個特點是什么?投資基金和投資股票有什么區(qū)別?(2023-01-18 10:34:52)
- 漲停板打開的原因有哪些?漲停板買入的流程是怎樣的?(2023-01-18 10:33:58)
- 小規(guī)模納稅人增值稅怎么算?征收增值稅的意義是什么?(2023-01-18 10:32:55)
- 銀行創(chuàng)業(yè)貸款怎么貸?銀行創(chuàng)業(yè)貸款的優(yōu)點有哪些?(2023-01-18 10:32:05)
- 銀行卡怎么改支付密碼?修改銀行卡支付密碼方法是什么?(2023-01-18 10:31:32)
- 金融ic卡業(yè)務種類包括哪些?金融IC卡的優(yōu)勢特點有哪些?(2023-01-18 10:29:40)
- 鍘熸補浜ゆ槗鎻愰啋錛歄PEC鏂?023騫村叏鐞冮渶姹傚皢澧炲姞錛孖MF緇忔祹棰勬湡涔愯鎻愭尟娌逛環(huán)娑ㄨ繎3%(2023-01-18 10:12:59)
- 視點!外匯交易提醒:英鎊受薪資數(shù)據(jù)提振,市場聚焦日本央行預期的政策調整(2023-01-18 10:22:38)
- 當前時訊:三部門:開展2023年重點新材料首批次應用保險補償機制試點工作(2023-01-18 09:46:46)
- 齊魯銀行“毛驢貸”引發(fā)訴訟,7年“精準扶貧”后變負債(2023-01-18 09:51:20)
- 今日觀點!友邦保險以高素質團隊服務成就客戶好生活(2023-01-18 09:49:57)
-
個人通知存款什么意思?通知存款相關介紹
(資料圖片)關于個人通知存款什么意思 什么是個人通知存款的知識大家了解嗎?以下就是小...
-
哪個銀行可以兌換外幣?兌換外幣需要帶哪些
提起哪個銀行可以兌換外幣大家在熟悉不過了,被越來越多的人所熟知,那你知道哪個銀行...
-
貸記卡是什么?貸記卡和信用卡有什么區(qū)別?
(資料圖片僅供參考)提起貸記卡和信用卡有什么區(qū)別大家在熟悉不過了,被越來越多的人所...
-
中國郵政儲蓄銀行綠卡通是什么卡?綠卡通有
(資料圖片)隨著社會越來越發(fā)達,大家都選擇在網(wǎng)絡上汲取相關知識內容,比如中國郵政儲...
-
農(nóng)村信用社助學貸款還款方式有哪些?農(nóng)村信
(相關資料圖)提起農(nóng)村信用社助學貸款還款方式大家在熟悉不過了,被越來越多的人所熟知...
-
銀行活期利息怎么計算?銀行活期利息計算公
【資料圖】提起銀行活期利息怎么計算大家在熟悉不過了,被越來越多的人所熟知,那你知...
-
平安理財產(chǎn)品有哪些?平安理財產(chǎn)品分為幾大
提起平安理財產(chǎn)品有哪些?大家在熟悉不過了,被越來越多的人所熟知,那你知道平安理財產(chǎn)...
-
投資基金的四個特點是什么?投資基金和投資
(資料圖片僅供參考)最近這段時間總有小伙伴問小編投資基金的四個特點為是什么,小編為...
-
漲停板打開的原因有哪些?漲停板買入的流程
【資料圖】最近小編看到大家都在討論漲停板打開的原因有哪些相關的事情,對此呢小編也...
-
小規(guī)模納稅人增值稅怎么算?征收增值稅的意
【資料圖】在生活中,很多人都不知道小規(guī)模納稅人增值稅怎么算 小規(guī)模納稅人增值稅如...
- 美國一共和黨人因拒絕
- 今日視點:一本正連載
- 【世界速看料】興澄特
- 1月17日國內鋅合金市
- 美國一共和黨人因拒絕承認敗選而槍擊民主黨人
- 今日視點:一本正連載紅樓夢同人小說,庶子接掌
- 【世界速看料】興澄特鋼、靖江特鋼團標入選工信
- 1月17日國內鋅合金市場價格匯總
- 每日信息:四川省造老銀元價格(2023年01月17日)
- 環(huán)球觀察:火鍋店驚現(xiàn)劇毒藍環(huán)章魚?網(wǎng)友在線請
- 短訊!2023年總臺春晚主持人陣容公布!
- 【全球時快訊】足銀回收價格多少錢一克(2023年
- 天天關注:統(tǒng)一集團2022年營收突破1161億,年增
- Web3 基金會公布第 16 批 Grant 資助名單!
- 滾動
- 理財
- 房產(chǎn)