混沌工程先鋒實(shí)踐者 優(yōu)秀案例_第1頁
混沌工程先鋒實(shí)踐者 優(yōu)秀案例_第2頁
混沌工程先鋒實(shí)踐者 優(yōu)秀案例_第3頁
混沌工程先鋒實(shí)踐者 優(yōu)秀案例_第4頁
混沌工程先鋒實(shí)踐者 優(yōu)秀案例_第5頁
已閱讀5頁,還剩163頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、 混沌工程先鋒實(shí)踐者優(yōu)秀案例(2022 年) 目錄 HYPERLINK l _TOC_250006 第一部分 互聯(lián)網(wǎng)領(lǐng)域 1阿里云:阿里云容器服務(wù)混沌實(shí)踐 1螞蟻集團(tuán):螞蟻集團(tuán)紅藍(lán)攻防實(shí)踐 9騰訊云:混沌工程對于云計(jì)算服務(wù)應(yīng)用案例 19京東科技:京東云全平臺破壞演練 27 HYPERLINK l _TOC_250005 第二部分 銀行領(lǐng)域 38工商銀行:工商銀行混沌工程平臺及混沌演練實(shí)踐 38農(nóng)行研發(fā)中心:農(nóng)行金庫系統(tǒng)混沌演練實(shí)踐 47建信金科:建信金科混沌實(shí)踐之道 63北京銀行:順天技術(shù)平臺混沌工程實(shí)踐 78平安銀行:平安銀行 ASTA 非功能測試平臺 91中電金信:恒豐銀行紅藍(lán)對抗演練 1

2、00 HYPERLINK l _TOC_250004 第三部分 證券領(lǐng)域 111中信建投:故障演練平臺項(xiàng)目 111中泰證券:混沌工程在互聯(lián)網(wǎng)金融業(yè)務(wù)的應(yīng)用與實(shí)踐 119 HYPERLINK l _TOC_250003 第四部分 通信領(lǐng)域 132中移信息:磐基 PaaS 平臺混沌能力山東應(yīng)急演練 132 HYPERLINK l _TOC_250002 第五部分 零售領(lǐng)域 139永輝科技:永輝生活電商全鏈路故障演練實(shí)踐 139 HYPERLINK l _TOC_250001 第六部分 能源領(lǐng)域 144南網(wǎng)數(shù)研院:云原生應(yīng)用架構(gòu)驅(qū)動的全棧高可靠探測 144 HYPERLINK l _TOC_2500

3、00 編后語 150附錄 1 151附錄 2 152附錄 3 154圖目錄圖 1阿里云容器服務(wù)混沌實(shí)踐實(shí)施流程 3圖 2阿里云容器服務(wù)混沌實(shí)踐實(shí)施框架 4圖 3阿里云容器服務(wù)混沌演練模型 5圖 4螞蟻集團(tuán)-為世界帶來微小而美好的改變 10圖 5螞蟻混沌工程整體技術(shù)框架圖 12圖 6混沌工程整體技術(shù)框架圖 21圖 7京東云平臺仿真環(huán)境 30圖 8京東云全平臺故障演練流程 30圖 9云資源穩(wěn)態(tài)示意圖 31圖 10業(yè)務(wù)穩(wěn)態(tài)示意圖: 31圖 11壓測結(jié)果觀測穩(wěn)態(tài)變化 32圖 12演練場景執(zhí)行和問題分析定位 33圖 13云泰故障注入與演練平臺技術(shù)框架 34圖 14工商銀行混沌工程平臺框架示意圖 40圖

4、15工商銀行混沌平臺故障注入能力 41圖 16工商銀行混沌演練實(shí)施效果 45圖 17金庫系統(tǒng)混沌演練部署架構(gòu) 49圖 18金庫系統(tǒng)混沌演練平臺總體架構(gòu) 50圖 19金庫系統(tǒng)混沌試驗(yàn)演練流程圖 50圖 20混沌工程故障演練平臺功能架構(gòu)圖 68圖 21故障演練平臺技術(shù)架構(gòu)圖 69圖 22故障演練平臺實(shí)施流程圖 70圖 23混沌工具集原子能力圖 71圖 24順天技術(shù)平臺生態(tài)體系整體框架圖 81圖 25混沌工程整體技術(shù)框架圖 82圖 26兩階段測試實(shí)驗(yàn)流程管理情況 83圖 27混沌工程案例應(yīng)用范圍示意圖 85圖 28平臺演練解決思路(重點(diǎn)實(shí)施) 85圖 29平臺演練解決思路(安全可信測試) 85圖 3

5、0應(yīng)用中間件演練解決思路 86圖 31平臺可觀測性能力 86圖 32平臺可觀測性能力 87圖 33ASTA 平臺 PaaS 層技術(shù)方案 94圖 34ASTA 平臺能力全景 94圖 35實(shí)驗(yàn)流程管理模型 95圖 36典型案例圖 96圖 37Starlink 平臺可視化展示能力 97圖 38非功能指標(biāo)觀測指標(biāo)評分體系 97圖 39ASTA 平臺助力降本增效減少風(fēng)險 99圖 40恒豐銀行團(tuán)隊(duì) 101圖 41中電金信團(tuán)隊(duì) 102圖 42混沌工程平臺 104圖 43全鏈路演練 105圖 44紅藍(lán)對抗演練 107圖 45自動生成實(shí)驗(yàn)報告 110圖 46中信建投故障演練平臺能力 115圖 47平臺故障演練活

6、動 116圖 48仿真環(huán)境架構(gòu)圖 123圖 49混沌工程平臺技術(shù)架構(gòu)圖 124圖 50混沌工程平臺原子能力 125圖 51基于混沌工程與演練質(zhì)保的故障演練 126圖 52混沌平臺核心組件架構(gòu)圖 141圖 53云原生系統(tǒng)高可用故障探測框架 147圖 54應(yīng)用系統(tǒng)高可用總體架構(gòu) 148表目錄表 1主要故障場景和預(yù)期結(jié)果 32表 2混沌工程分布式平臺應(yīng)用效果表 74表 3混沌工程實(shí)驗(yàn)演練步驟 127第一部分 互聯(lián)網(wǎng)領(lǐng)域 阿里云:阿里云容器服務(wù)混沌實(shí)踐一、 申報單位 阿里云計(jì)算有限公司。二、 案例簡介 阿里云創(chuàng)立于 2009 年,是全球領(lǐng)先的云計(jì)算及人工智能科技公司。阿里云為 200 多個國家和地區(qū)的

7、企業(yè)、公共機(jī)構(gòu)和開發(fā)者,提供安全、可靠的云計(jì)算、大數(shù)據(jù)、人工智能等產(chǎn)品和服務(wù)。阿里云作為全國首家云等保試點(diǎn)示范平臺和首家通過國家等保四級備案測評的云服務(wù)商,為中國超過一半的上市公司, 80%的中國科技創(chuàng)新企業(yè)提供云計(jì)算服務(wù)。2021 年 7 月可信云大會,阿里云故障演練平臺入選可信云最佳技術(shù)實(shí)踐,并首批通過可信云混沌工程平臺能力要求最高等級先進(jìn)級認(rèn)證。阿里云容器服務(wù)混沌實(shí)踐是一套應(yīng)用于云原生架構(gòu)的混沌工程實(shí)踐案例,內(nèi)部實(shí)踐沉淀了針對云原生架構(gòu)豐富的 200+核心場景及其組合,通過無人值守演練和生產(chǎn)突襲有效發(fā)現(xiàn)了 90 多個高可用問題,提升了響應(yīng)應(yīng)急能力,推進(jìn)了各個產(chǎn)品的自動恢復(fù)能力、預(yù)案能力演

8、進(jìn),使得整體公有云產(chǎn)品高可用能力大大提升。同時一部分場景轉(zhuǎn)化成為了商業(yè)化產(chǎn)品 AHAS Chaos,更好地服務(wù)云客戶,為其提供混沌工程解決方案。 三、 用戶簡介 阿里云云原生容器服務(wù)產(chǎn)品族,作為阿里云產(chǎn)品,在傳統(tǒng)云計(jì)算基礎(chǔ)上,具備更快更低成本的彈性,更好的軟硬一體化靈活性,以標(biāo)準(zhǔn)的 Kubernetes 界面豐富生態(tài),已經(jīng)成為了云計(jì)算發(fā)展最快的技術(shù)方向。云原生幫助開發(fā)者大幅度降低資源成本和交付成本,從而更快更好地贏得市場。同時,云原生也給傳統(tǒng)運(yùn)維、研發(fā)方式帶來了徹底的變革,這就使得傳統(tǒng)的混沌工程手段需要跟隨演進(jìn)。四、 需求分析 阿里云容器服務(wù)支持業(yè)務(wù)分析:阿里云容器服務(wù)需要同時支持阿里云公有云

9、、專有云客戶和阿里集團(tuán)客戶。云產(chǎn)品面臨的業(yè)務(wù)場景、周邊設(shè)施越來越復(fù)雜。為了應(yīng)對復(fù)雜的架構(gòu)演進(jìn),面向失敗設(shè)計(jì)和穩(wěn)定性顯得尤為重要。阿里內(nèi)部需要支撐 30W 級別的 POD 量級,挑戰(zhàn)巨大。阿里云容器服務(wù)依賴分析:相比其他行業(yè)或者系統(tǒng),阿里云容器服務(wù)面對的客戶更為復(fù)雜,體量更大,作為整個阿里集團(tuán)底座,承載了幾乎全部的在線業(yè)務(wù)及離線運(yùn)行資源;對于容器來說,所有的這些運(yùn)行資源都是無差別的,但一旦出現(xiàn)故障,故障打擊也是無差別的;為了 k8s 在阿里集團(tuán)內(nèi)的落地,需要對內(nèi)部的網(wǎng)絡(luò)、存儲、OS 進(jìn)行適配,同時這也會依賴內(nèi)部的運(yùn)維體系和基礎(chǔ)設(shè)施,導(dǎo)致拓?fù)浣Y(jié)構(gòu)變得非常復(fù)雜。社區(qū)追尋:近兩年的云原生技術(shù)風(fēng)起云涌,

10、內(nèi)部為了緊跟社區(qū)架構(gòu)更替速度,每年會有兩次的版本迭代,緊跟社區(qū)版本迭代,同時這也會引入新的風(fēng)險。故障演練:作為穩(wěn)定性問題充分暴露的練兵場,可以在更接近實(shí)際故障場景的環(huán)境中,暴露系統(tǒng)在生產(chǎn)環(huán)境中可能出現(xiàn)的問題,而混沌工程的引入,使得演練測試更接近真實(shí)的故障場景,在不斷混沌化實(shí)驗(yàn)的過程中發(fā)掘可能出現(xiàn)的一些系統(tǒng)問題。 五、 技術(shù)方案介紹 (一)整體實(shí)施流程及框架整體實(shí)施流程一般分為這幾個階段:手工演練,流程工具自動化演練,常態(tài)化無人值守演練,生產(chǎn)突襲演練。這幾個階段的實(shí)施難度是從低到高,當(dāng)然相應(yīng)的收益也是從低到高。一個組織(云用戶)可以隨著自己業(yè)務(wù)應(yīng)用服務(wù)體量的增大、復(fù)雜化和高可用能力的增高的歷程,

11、根據(jù)實(shí)際情況需要來選擇自己合適的階段,然后隨之進(jìn)行升級和發(fā)展。即使從最簡便的手工演練開始做起實(shí)施,經(jīng)常也能帶來相當(dāng)明顯且長遠(yuǎn)的高可用能力系統(tǒng)性提升。圖 1 阿里云容器服務(wù)混沌實(shí)踐實(shí)施流程手工演練: 一般在高可用能力建設(shè)初期階段,或者一次性驗(yàn)收 的情況下手工注入故障完成。通過人為查看告警是否生效,系統(tǒng)恢復(fù) 情況來進(jìn)行演練。在這個階段只需要一些故障注入的小工具或者腳本,方便后續(xù)使用即可。自動化演練:高可用能力建設(shè)到一定階段后,往往會有定期檢查高可用能力是否退化的需求,自動化演練開始排上日程。自動化演練步驟一般包括:環(huán)境準(zhǔn)備 - 故障注入 - 檢查 - 環(huán)境恢復(fù)。在每個步驟中配置相應(yīng)的腳本來形成演練

12、流程,下一次就可以一鍵點(diǎn)擊自動化執(zhí)行了。常態(tài)化執(zhí)行:演練進(jìn)行到下一階段,我們會有更高的要求,希望演練可以自主混沌化執(zhí)行,以無人值守的方式進(jìn)行,這又對系統(tǒng)的高可用能力有了新的挑戰(zhàn)。這要求系統(tǒng)不僅有監(jiān)控告警可以發(fā)現(xiàn)故障,也有對應(yīng)的預(yù)案模塊來負(fù)責(zé)恢復(fù),而要做到無人值守,需要系統(tǒng)進(jìn)行更智能精確的判斷故障情況,自動執(zhí)行相應(yīng)預(yù)案。圖 2 阿里云容器服務(wù)混沌實(shí)踐實(shí)施框架生產(chǎn)突襲:以上演練大多在灰度環(huán)境進(jìn)行,不會影響到業(yè)務(wù),生產(chǎn)突襲則要求系統(tǒng)有能力在生產(chǎn)環(huán)境控制爆炸半徑的前提下進(jìn)行故障演練,以期發(fā)現(xiàn)一些業(yè)務(wù)相關(guān)、規(guī)模相關(guān)、配置相關(guān)、應(yīng)急響應(yīng)相關(guān)的,在灰度環(huán)境中遺漏的部分,生產(chǎn)環(huán)境的演練對系統(tǒng)的要求較高,需要有

13、一套執(zhí)行規(guī)范,對系統(tǒng)的隔離能力也有較高要求。大多數(shù)的工作,能力建設(shè)都在灰度環(huán)境完成驗(yàn)證,但生產(chǎn)突襲仍作為一個有效且必要的演練手段,用更真實(shí)的場景給研發(fā)體感,讓其真實(shí)執(zhí)行預(yù)案,也鍛煉了應(yīng)急能力,對系統(tǒng)有更多信心和認(rèn)知。原子能力支持:在阿里云原生的架構(gòu)上,我們整理了如下所示的演練模型,在這個高可用能力模型中,我們根據(jù)系統(tǒng)架構(gòu)按照管控層組件、元集群組件、addon 組件,數(shù)據(jù)存儲,節(jié)點(diǎn)層,整體集群進(jìn)行區(qū)分,在每個模塊中有一些通用的故障可以互相借鑒。圖 3 阿里云容器服務(wù)混沌演練模型(二)常見問題及解決常態(tài)化運(yùn)行的穩(wěn)定性:由于容器服務(wù)本身的架構(gòu)特性,系統(tǒng)自帶很多自愈能力,正因如此,可以進(jìn)行規(guī)?;臒o人

14、值守常態(tài)演練;常態(tài)化運(yùn)行可能因?yàn)榄h(huán)境原因、依賴系統(tǒng)不穩(wěn)定等因素導(dǎo)致運(yùn)行不穩(wěn)定,不能反映系統(tǒng)真實(shí)的能力情況。針對環(huán)境問題,一般會使用一個較為 穩(wěn)定、和生產(chǎn)網(wǎng)絡(luò)環(huán)境、依賴一致、但無生產(chǎn)流量的灰度環(huán)境進(jìn)行,同時透明變更記錄,有問題馬上告警介入。針對依賴系統(tǒng)不穩(wěn)定等因 素導(dǎo)致的演練失敗,需要提高系統(tǒng)自身的容錯性建設(shè),增加重試機(jī)制,及時更新系統(tǒng)依賴。生產(chǎn)突襲的風(fēng)險控制:生產(chǎn)突襲會在有用戶流量的集群進(jìn)行,絕不能有超出預(yù)期的行為??梢酝ㄟ^流量隔離的方式圈定影響范圍,也可以通過黑白名單、多重校驗(yàn)的方式增加攔截,一旦超出預(yù)期,系統(tǒng)可以自動熔斷或人工介入主動熔斷,防止進(jìn)一步擴(kuò)大影響范圍。六、 實(shí)驗(yàn)創(chuàng)新點(diǎn) (一)無

15、人值守混沌化演練在形式上做到了創(chuàng)新,真正做到無人值守,注入故障后觸發(fā)系統(tǒng)告警及自愈機(jī)制,故障升級自動告警升級,進(jìn)而值班介入。節(jié)省人效,問題自動發(fā)現(xiàn)?;煦缁芰Φ膭?chuàng)新,在實(shí)踐中支持定制故障集合、時間周期、隨機(jī)參數(shù)等混沌指數(shù),使得故障注入更接近真實(shí)場景,得以探測系統(tǒng)問題。(二)云服務(wù)在線生產(chǎn)突襲相比其他行業(yè)或者系統(tǒng),阿里云容器服務(wù)面對的客戶更為復(fù)雜,在線服務(wù)影響也較大,但為了更真實(shí)的進(jìn)行生產(chǎn)突襲,評估系統(tǒng)提供服務(wù)的穩(wěn)定性,內(nèi)部進(jìn)行了架構(gòu)改造、環(huán)境隔離、數(shù)據(jù)分離等全鏈路的隔離,使得生產(chǎn)級別的演練可以進(jìn)行。在突襲過程中,可以在不影響用戶流量的情況下識別系統(tǒng)高可用能力的退化情況,同時觸發(fā)真實(shí)的故障處理流

16、程,鍛煉了運(yùn)維人員的處理故障能力和整個系統(tǒng)的魯棒性。阿里云容器服務(wù)的混沌工程實(shí)踐影響范圍大,會在 1500+節(jié)點(diǎn)、 10W+用戶容器規(guī)模生產(chǎn)集群進(jìn)行突襲實(shí)踐。同時形式上有所創(chuàng)新,突襲頻次很高,截止 2021 年度,內(nèi)部實(shí)施過程突襲了 150+次,在突襲過程中模擬真實(shí)故障發(fā)生情況,生產(chǎn)環(huán)境、歷史故障、一定范圍內(nèi)隨機(jī)時間及場景進(jìn)行注入。(三)分層演練,推進(jìn)預(yù)案產(chǎn)品化演進(jìn)通過無人值守演練,不斷驗(yàn)收產(chǎn)品自動化恢復(fù)能力;通過生產(chǎn)突襲推進(jìn)產(chǎn)品,將非自愈預(yù)案逐步轉(zhuǎn)化為自愈;通過以上的方式,使得短期人治能力逐漸轉(zhuǎn)換成普適的產(chǎn)品能力,不隨人員更迭而變動,同時普惠云產(chǎn)品廣泛用戶。 七、 實(shí)驗(yàn)收益 在阿里云內(nèi)部實(shí)施

17、過程中,常態(tài)化無人值守演練有效的覆蓋了 100%歷史故障及業(yè)務(wù)核心故障場景 200 個,年執(zhí)行次數(shù) 8000+,有效的發(fā)現(xiàn)了 90+個高可用問題,其中 17 個告警問題得到優(yōu)化,43 個預(yù)案得到優(yōu)化,在演練的有效推進(jìn)下,產(chǎn)品的告警發(fā)現(xiàn)率提升了 20%,預(yù)案覆蓋率也從無到有,自動化預(yù)案比例提升了 40%。生產(chǎn)突襲演練覆蓋了所有核心云產(chǎn)品,發(fā)現(xiàn)解決了 14 個問題,響應(yīng)力預(yù)案告警能力有整體提升,2021 全年生產(chǎn)突襲次數(shù)達(dá)到 150+,有效推進(jìn)了各個產(chǎn)品的預(yù)案能力,應(yīng)急能力,etcd 故障響應(yīng)時長從10min 到 3min ,公有云 ACK apiserver 故障:響應(yīng)時長從10min到 4mi

18、n;鏡像倉庫產(chǎn)品告警時長從 11min 到 1min,系統(tǒng)惡意流量場景恢復(fù)時長從 35min 提升到 8min。同時在演練過程中推進(jìn)了各個產(chǎn)品輪班制度的建立,整體公有云產(chǎn)品高可用能力大大提升。除此外,混沌工程實(shí)施過程中的工具具備一定的通用性,對接了內(nèi)部各種告警平臺,20+種故障注入插件,演練流程靈活適配,給業(yè)務(wù)團(tuán)隊(duì)提供了便捷工具。八、 反思及改進(jìn) 目前的故障注入基本都基于已有已知的場景進(jìn)行隨機(jī)組織、參數(shù)變化得到,后續(xù)考慮進(jìn)行 AI 探測架構(gòu),自動分析系統(tǒng)薄弱點(diǎn),組織場景集,可以根據(jù)集群入口、網(wǎng)關(guān)等配置,自動嗅探薄弱點(diǎn),同時自動組織注入點(diǎn),和負(fù)載 liveness hook 等配置結(jié)合,判斷健康

19、度,減少配置成本,增加風(fēng)險覆蓋。對于生產(chǎn)故障,目前通常需要人工撈取現(xiàn)場進(jìn)行回溯,問題的復(fù)現(xiàn)也往往依賴人工組織場景,后續(xù)考慮進(jìn)行問題復(fù)現(xiàn)路徑全息回放能力建設(shè),每次根據(jù)現(xiàn)場情況上下文不同進(jìn)行回放現(xiàn)場,解決問題后,也可以利用該能力復(fù)現(xiàn)歷史具體故障進(jìn)行復(fù)盤和回歸,用同時刻的全息 360 復(fù)現(xiàn)能力以確保問題解決。螞蟻集團(tuán):螞蟻集團(tuán)紅藍(lán)攻防實(shí)踐一、 申報單位 螞蟻科技集團(tuán)股份有限公司。二、 案例簡介 螞蟻集團(tuán)混沌工程實(shí)踐起源于技術(shù)風(fēng)險部。螞蟻集團(tuán)技術(shù)風(fēng)險部于 2015 年正式成立,部門組建之初的目標(biāo)主要是夯實(shí)容災(zāi)能力,構(gòu)建資金安全防控體系;2016 年部門組建國內(nèi)第一支 SRE 團(tuán)隊(duì),開始全面開展故障自動

20、定位、自適應(yīng)容災(zāi)、灰度環(huán)境搭建、資金安全免疫、精細(xì)化高可用等工作;時至今日,技術(shù)風(fēng)險部已取得云通未來、容災(zāi)三地五中心建設(shè)、?;瘧?yīng)用“綠色計(jì)算”等里程碑,并完成仿真環(huán)境從 0 到 1 建設(shè),實(shí)現(xiàn)風(fēng)險左移、有損演練;目前,部門正朝著建設(shè)數(shù)字化運(yùn)營管理體系方向前進(jìn),驅(qū)動風(fēng)險、效能和成本持續(xù)改進(jìn)。螞蟻混沌工程實(shí)踐以紅藍(lán)攻防為主要表現(xiàn)形式,已持續(xù)數(shù)年,其顯著特點(diǎn)為超大規(guī)模,主要體現(xiàn)在如下幾點(diǎn):參與的團(tuán)隊(duì)和人數(shù)多:幾乎涵蓋所有螞蟻業(yè)務(wù)及其技術(shù)團(tuán)隊(duì),直接參與混沌工程的工程師人數(shù)有近千人;覆蓋的應(yīng)用系統(tǒng)多:覆蓋數(shù)千個應(yīng)用系統(tǒng);發(fā)現(xiàn)的問題多:包括系統(tǒng)問題,業(yè)務(wù)問題,配置問題等,2021年全年發(fā)現(xiàn)問題 500 多

21、個;攻防執(zhí)行的次數(shù)多:2021 年全年各領(lǐng)域的故障注入次數(shù)合計(jì)達(dá)到上億級別,大部分演練以天為粒度進(jìn)行持續(xù)回歸。三、 用戶簡介 螞蟻集團(tuán)是移動支付平臺支付寶的母公司,也是全球領(lǐng)先的金融科技開放平臺,致力于以科技推動包括金融服務(wù)業(yè)在內(nèi)的全球現(xiàn)代服務(wù)業(yè)的數(shù)字化升級,攜手合作伙伴為消費(fèi)者和小微企業(yè)提供普惠、綠色、可持續(xù)的服務(wù),為世界帶來微小而美好的改變。圖 4 螞蟻集團(tuán)-為世界帶來微小而美好的改變四、 需求分析 螞蟻集團(tuán)的業(yè)務(wù)大多具有金融屬性,每天都有大量的交易在生產(chǎn)環(huán)境發(fā)生,涉及的金額巨大,另外,支付寶 app 已深深融入國民的日常生活,其中諸如掃碼支付、地鐵出行等是人們每天高頻使用的功能,因此,螞

22、蟻對系統(tǒng)穩(wěn)定性和可用性,以及業(yè)務(wù)邏輯的正確性的要求極高,生產(chǎn)環(huán)境一旦發(fā)生故障,很可能導(dǎo)致用戶發(fā)生資損,或者導(dǎo)致社會輿情。螞蟻技術(shù)風(fēng)險部圍繞生產(chǎn)故障開展工作,在故障發(fā)生前能夠識別出潛在風(fēng)險并阻斷,在發(fā)生故障后能夠快速止血減少影響,為此建設(shè)了一整套的分布式系統(tǒng)穩(wěn)定性以及業(yè)務(wù)風(fēng)險防控系統(tǒng),包括監(jiān)控,變更,容量,應(yīng)急,資金核對等,這些系統(tǒng)有效降低了生產(chǎn)故障數(shù)量, 螞蟻近 3 年的生產(chǎn)故障數(shù)量呈現(xiàn)明顯下降的趨勢。在上述背景下,混沌工程(紅藍(lán)攻防)的主要fi求包括:第一,在生產(chǎn)故障逐年降低的背景下,全套技術(shù)風(fēng)險防控能力仍然需要不斷被檢驗(yàn),保障這些能力在下一次故障發(fā)生前或者發(fā)生時能夠起作用;第二,故障處理相

23、關(guān)人員的能力需要不斷被檢驗(yàn),包括個人處理能力,團(tuán)隊(duì)之間的協(xié)作能力,故障處理能力在團(tuán)隊(duì)的傳承等;第三,通過混沌工程幫助業(yè)務(wù)發(fā)現(xiàn)潛在風(fēng)險,例如通過故障泛化的能力,將某個業(yè)務(wù)出現(xiàn)過的故障泛化至還未發(fā)生過類似故障的業(yè)務(wù),做到提前防范;第四,技術(shù)風(fēng)險智能化是當(dāng)前螞蟻技術(shù)的主要方向之一,通過混沌工程提供智能化防線需要的海量數(shù)據(jù),訓(xùn)練智能算法,牽引智能防線建設(shè);第五,宣導(dǎo)混沌工程的文化,通過混沌工程在技術(shù)工程師心中建立技術(shù)風(fēng)險心智,時刻對線上系統(tǒng)保持敬畏之心。 五、 技術(shù)方案介紹 螞蟻混沌工程的整體技術(shù)框架圖如下:圖 5 螞蟻混沌工程整體技術(shù)框架圖 (一)技術(shù)方案的要點(diǎn)包括:在軟件生命周期的各個階段,都有混

24、沌工程的實(shí)踐,包括開發(fā)測試階段,發(fā)布階段,運(yùn)行階段,數(shù)據(jù)處理階段。這部分會在“實(shí)驗(yàn)創(chuàng)新點(diǎn)”中詳細(xì)敘述?;煦绻こ痰臉I(yè)務(wù)主要包括三個方面,場景構(gòu)建,攻擊(故障注入),度量和運(yùn)營。場景構(gòu)建。主要作用是生成混沌工程的攻擊場景,分為自動化構(gòu)建和人工構(gòu)建兩種類型。自動化構(gòu)建基于統(tǒng)一場景模型和元數(shù)據(jù),結(jié)合一些算法,構(gòu)建出通用防線的攻擊場景,例如在資金核對防線方面,通過資金表識別技術(shù)(資金表模型+采集生產(chǎn)資金流數(shù)據(jù)+算法),自動化生成資金一致性的攻擊場景(資金表的資金字段內(nèi)容錯誤);人工構(gòu)建主要是將專家經(jīng)驗(yàn)轉(zhuǎn)化為攻擊場景,用于業(yè)務(wù)邏輯較強(qiáng)的復(fù)雜場景設(shè)計(jì)。另外,還運(yùn)用泛化技術(shù),將針對某個業(yè)務(wù)的攻擊場景,擴(kuò)展到其

25、他業(yè)務(wù)中。攻擊,即故障注入。包括上層的業(yè)務(wù)邏輯,如攻擊流程的編排(攻擊之前的權(quán)限控制和環(huán)境準(zhǔn)備,攻擊時的故障下發(fā),攻擊之后的度量和環(huán)境回收)、攻擊持續(xù)集成調(diào)度(周期性的持續(xù)運(yùn)行),攻擊執(zhí)行統(tǒng)一客戶端(屏蔽底層不同故障原子能力);底層的混沌攻擊武器庫,即故障原子能力,包括任意 JAVA 方法的代碼化攻擊(可動態(tài)替換任意 JAVA 方法的執(zhí)行邏輯)、日志攻擊(篡改日志,追加日志)、云原生攻擊(k8s 和容器層面的故障)等等。從螞蟻技術(shù)整體來看,目前故障注入的覆蓋范圍包括,任意 JAVA 應(yīng)用,中間件,容器,K8S,數(shù)據(jù)庫,離線數(shù)據(jù)倉庫。度量和運(yùn)營。度量主要是將攻擊產(chǎn)生的效果以及發(fā)現(xiàn)的問題揭示出來,

26、目前大部分可持續(xù)集成運(yùn)行的攻擊,其度量也是自動化的;攻擊會發(fā)現(xiàn)一些問題,也會由專門的系統(tǒng)負(fù)責(zé)記錄和追蹤;通過攻擊體現(xiàn)出的業(yè)務(wù)防控水平,會定期形成報表呈現(xiàn)給業(yè)務(wù)用戶。運(yùn)營分為日常運(yùn)營和活動運(yùn)營,日常運(yùn)營通過業(yè)務(wù)之間的橫向比較,驅(qū)動防控能力低的業(yè)務(wù)不斷提升;活動運(yùn)營會在每年定期組織大型的紅藍(lán)攻防活動,目前包括一年兩次的 527 和 1218 紅藍(lán)攻防活動?;煦绻こ桃蕾嚭芏嗷A(chǔ)技術(shù)和基礎(chǔ)設(shè)施,基礎(chǔ)技術(shù)包括統(tǒng)一應(yīng)用切面 awatch(主要提供 JAVA 代碼化故障注入能力,以及資金流數(shù)據(jù)采集能力),污點(diǎn)分析(主要服務(wù)于資金服務(wù)攻擊場景的自動化構(gòu)建),流量染色(主要目的是識別出攻擊影響的用戶,將影響限制

27、在內(nèi)部用戶);基礎(chǔ)設(shè)施包括多云(螞蟻的業(yè)務(wù)分布在多云環(huán)境中,要求混沌工程這套技術(shù)能夠支持私有云,公有云,混合云的多云環(huán)境),依賴的軟件基礎(chǔ)數(shù)據(jù)和運(yùn)行數(shù)據(jù)(主要幫助構(gòu)建場景),以及各類環(huán)境(生產(chǎn)環(huán)境,仿真環(huán)境,線下環(huán)境等)。(二)實(shí)施案例遇到的問題案例實(shí)施過程中遇到和解決了不少問題,這里選取幾個重要的問題進(jìn)行闡述:第一,在混沌工程實(shí)踐初期,攻擊主要以真實(shí)故障注入為主要方式,即“有損”攻擊,這類攻擊需要業(yè)務(wù)進(jìn)行應(yīng)急恢復(fù),成本較高,導(dǎo)致攻擊頻率無法提升。針對這個問題,主要的解決思路是“無損”攻擊思路的提出,即將攻擊的目的進(jìn)行拆解,有損攻擊類似生產(chǎn)故障,需要先發(fā)現(xiàn)再應(yīng)急,如果將發(fā)現(xiàn)和應(yīng)急二者拆分開來,

28、如果只檢驗(yàn)發(fā)現(xiàn)(發(fā)現(xiàn)率也是更重要的指標(biāo)),那就無需制造真實(shí)故障。例如,在資金核對的攻防上面,有損攻擊發(fā)生在業(yè)務(wù)系統(tǒng),會真實(shí)篡改業(yè)務(wù)數(shù)據(jù),而無損攻擊發(fā)生在資金核對系統(tǒng),篡改的是核對系統(tǒng)消費(fèi)的數(shù)據(jù)(該數(shù)據(jù)可以認(rèn)為是真實(shí)業(yè)務(wù)數(shù)據(jù)的副本),這是與業(yè)務(wù)主路徑無關(guān)的一條旁路,注入核對系統(tǒng)不會對業(yè)務(wù)產(chǎn)生影響,業(yè)務(wù)也無需應(yīng)急,這種注入主要檢驗(yàn)核對系統(tǒng)中的核對規(guī)則是否有效,以及核對系統(tǒng)本身是否有問題。第二,無損攻擊的真實(shí)度不夠,有些復(fù)雜場景也不能通過無損攻擊實(shí)現(xiàn),解決這個問題的思路主要是依賴仿真環(huán)境的建設(shè),仿真環(huán)境與生產(chǎn)環(huán)境高度相似,但應(yīng)用和數(shù)據(jù)都與生產(chǎn)環(huán)境進(jìn)行隔離,這個環(huán)境特別適合進(jìn)行真實(shí)故障注入,目前很多復(fù)

29、雜的業(yè)務(wù)攻擊場景都是在仿真環(huán)境完成的。第三,無損攻擊會產(chǎn)生很多告警,對業(yè)務(wù)開發(fā)測試人員的打擾嚴(yán)重,解決這個問題,有兩個思路,第一是對無損攻擊的鏈路進(jìn)行改造,監(jiān)控能夠區(qū)分出異常來源,對來源于攻擊的異常進(jìn)行告警屏蔽;第二,也是一個創(chuàng)新的思路,是建設(shè)混沌靶場,將針對通用防線的無損攻擊,轉(zhuǎn)移到靶場進(jìn)行,靶場會在“實(shí)驗(yàn)創(chuàng)新點(diǎn)”中詳細(xì)敘述。 六、 實(shí)驗(yàn)創(chuàng)新點(diǎn) (一)面向軟件完整生命周期的混沌工程軟件完整生命周期包括開發(fā)測試,發(fā)布,運(yùn)行,數(shù)據(jù)等多個階段,每個階段都會產(chǎn)生技術(shù)風(fēng)險,螞蟻在每個階段都有技術(shù)風(fēng)險的防控工作,因此要求混沌工程也能夠覆蓋到每個階段。具體包括:開發(fā)階段,進(jìn)行源代碼級別的故障注入,在源代碼

30、中增加注入代碼,目的是檢驗(yàn) code review 是否做的足夠充分和細(xì)致。測試階段,進(jìn)行測試用例級別的故障注入,修改測試用例目標(biāo)方法入?yún)ⅲ瑱z驗(yàn)測試用例是否會因?yàn)槿雲(yún)⒌淖兓?,從而檢驗(yàn)是否有斷言(不寫斷言,測試用例總會通過,有風(fēng)險)。發(fā)布階段,發(fā)布本質(zhì)上是一種變更行為,在這個階段進(jìn)行的是針對變更的故障注入,螞蟻技術(shù)風(fēng)險建設(shè)有統(tǒng)一變更核心,通過各種變更防御規(guī)則對有風(fēng)險的變更進(jìn)行攔截,變更故障注入模擬不符合規(guī)則的變更,例如模擬一個發(fā)生在中午 12 點(diǎn)的變更(12 點(diǎn)屬于午餐時間段,業(yè)務(wù)高峰期,本來不允許變更),檢驗(yàn)相應(yīng)的變更防御規(guī)則是否能夠攔截該變更;或者模擬變更導(dǎo)致的系統(tǒng)故障,檢驗(yàn)變更核心是

31、否能夠發(fā)現(xiàn)該故障并關(guān)聯(lián)到正確的變更,并將該變更回滾;另外,變更影響面(變更影響的服務(wù),變更影響的資金表等)也是風(fēng)險挖掘的主要方向之一。運(yùn)行階段,包括系統(tǒng)穩(wěn)定性和可用性的故障注入,以及面向業(yè)務(wù)的故障注入。前者例如服務(wù)異常,數(shù)據(jù)庫超時,后者例如資金表數(shù)據(jù)篡改,業(yè)務(wù)代碼邏輯篡改。數(shù)據(jù)階段,在線運(yùn)行的系統(tǒng),產(chǎn)生的數(shù)據(jù)會周期性同步至離線,離線進(jìn)行加工處理之后的數(shù)據(jù),又會被一些在線系統(tǒng)使用,在這個過程中也會進(jìn)行故障注入,例如在離線數(shù)據(jù)同步發(fā)生延遲,數(shù)據(jù)計(jì)算過程中出現(xiàn)數(shù)據(jù)錯誤和丟失,等等。(二)面向業(yè)務(wù)的故障注入由于螞蟻的業(yè)務(wù)大多具有金融屬性,對業(yè)務(wù)正確性的要求極高,對資金相關(guān)故障是零容忍的。根據(jù)內(nèi)部數(shù)據(jù)分

32、析,螞蟻的生產(chǎn)故障跟資金相關(guān)的,多數(shù)為業(yè)務(wù)內(nèi)部邏輯錯誤導(dǎo)致,某些邏輯錯誤在測試階段難以發(fā)現(xiàn),發(fā)生的條件極其復(fù)雜,因此對該類型故障的設(shè)計(jì),就必須緊貼業(yè)務(wù)進(jìn)行。面向業(yè)務(wù)的故障注入,基于螞蟻?zhàn)匝械慕y(tǒng)一 JAVA 字節(jié)碼框架 Awatch,在技術(shù)上能夠做到 JAVA 應(yīng)用的代碼級替換注入,即用故障注入設(shè)計(jì)的代碼片段,在系統(tǒng)運(yùn)行過程中,動態(tài)替換掉業(yè)務(wù)原本運(yùn)行的代碼片段,從而達(dá)到非常靈活的業(yè)務(wù)邏輯層面的錯誤。例如,運(yùn)用此技術(shù),可以實(shí)現(xiàn)修改方法的參數(shù)和返回值,跳過方法內(nèi)部某些關(guān)鍵操作,重復(fù)執(zhí)行某些操作,打亂操作的順序,等等。 (三)混沌靶場混沌靶場是指在生產(chǎn)環(huán)境中自建的一套小型分布式系統(tǒng),專門用于在生產(chǎn)環(huán)境

33、進(jìn)行故障注入?;煦绨袌鎏岢龅闹饕紤]是,目前螞蟻技術(shù)風(fēng)險的各種防線,大多為通用防線,即提供各個業(yè)務(wù)通用的防御能力,例如高可用領(lǐng)域中的服務(wù)限流,通用定位(服務(wù)異常定位等),通用變更防御(通用防御規(guī)則),等等,這些能力不因應(yīng)用系統(tǒng)的差異而發(fā)生變化,因此沒有必要一定通過注入業(yè)務(wù)系統(tǒng)對其進(jìn)行檢驗(yàn),靶場系統(tǒng)接入這些通用防御能力之后,通過注入靶場系統(tǒng)也能夠達(dá)到相同的檢驗(yàn)?zāi)康?,同時不會因故障注入而影響業(yè)務(wù),也不會因高頻的故障注入產(chǎn)生大量告警而打擾開發(fā)測試人員。 (四)污點(diǎn)分析技術(shù)污點(diǎn)分析作為一種經(jīng)典的信息流分析技術(shù),可以追蹤指定的關(guān)鍵數(shù)據(jù)字段在程序中的傳播和流向。通過指定關(guān)注的數(shù)據(jù)(source)作為污點(diǎn),

34、分析該數(shù)據(jù)字段是否在程序中可以傳播到指定的終點(diǎn)(sink),此技術(shù)主要用于混沌工程中的風(fēng)險挖掘領(lǐng)域,在該領(lǐng)域,資金服務(wù)和消息到達(dá)資金表的路徑是關(guān)鍵挖掘目標(biāo),通過污點(diǎn)分析技術(shù),可以準(zhǔn)確識別出資金表的字段的源頭對應(yīng)的服務(wù)和消息中的參數(shù),進(jìn)而為面向業(yè)務(wù)的故障注入提供豐富的攻擊場景(修改服務(wù)和消息的關(guān)鍵參數(shù))。 七、 實(shí)驗(yàn)收益 在 2021 年,通過混沌工程發(fā)現(xiàn)的業(yè)務(wù)風(fēng)險和問題有 300 多個,推進(jìn)解決的有 200 多個;日常紅藍(lán)攻防次數(shù)有幾十萬次,涵蓋高可用,資金安全,研發(fā)質(zhì)量等領(lǐng)域,混沌工程的服務(wù)覆蓋到螞蟻所有主要業(yè)務(wù),核心業(yè)務(wù)單元的技術(shù)風(fēng)險防控保持較高水位(例如核心業(yè)務(wù)變更防御率達(dá)到 90%以上

35、,核心業(yè)務(wù)指標(biāo)異常的監(jiān)控發(fā)現(xiàn)率達(dá)到 99%以上,資金一致性核對的發(fā)現(xiàn)率達(dá)到 90%以上);大型活動如 1218 牽引資金核對規(guī)則部署新增 1000 多條;誕生自混沌工程的統(tǒng)一 JAVA 字節(jié)碼框架 awatch,不僅服務(wù)于混沌工程,而且擴(kuò)展到其他業(yè)務(wù)領(lǐng)域,包括仿真環(huán)境、安全切面、業(yè)務(wù)巡檢等,有效解決了業(yè)務(wù)遇到的問題。 八、 反思及改進(jìn) 混沌工程智能化程度不夠,目前需要人參與的比例較高,主要集中在場景構(gòu)建方面,專家經(jīng)驗(yàn)轉(zhuǎn)化為場景需要大量人力投入,未來需要結(jié)合數(shù)據(jù)和算法,采用泛化的方式,提升智能化場景構(gòu)建的水平。風(fēng)險挖掘的結(jié)果準(zhǔn)確性不足,需要較多人為打標(biāo)的修正工作,未來在技術(shù)上需要有所突破,數(shù)據(jù)和

36、算法的使用需要更加有深度?;煦绻こ唐脚_使用門檻較高,部分故障注入的配置較為復(fù)雜,需要不斷降低學(xué)習(xí)成本,提升使用體驗(yàn),提升易用性。基礎(chǔ)設(shè)施建設(shè)例如仿真環(huán)境還需要加速,部分業(yè)務(wù)由于環(huán)境的制約,無法大規(guī)模的進(jìn)行混沌工程實(shí)踐。大型活動的人力時間投入較多,主要體現(xiàn)在活動的故障場景設(shè)計(jì)方面,需要加強(qiáng)日常面向業(yè)務(wù)的紅藍(lán)攻防,提升大型活動的舉辦效率。3. 騰訊云:混沌工程對于云計(jì)算服務(wù)應(yīng)用案例一、 申報單位 深圳市騰訊計(jì)算機(jī)系統(tǒng)有限公司。二、 案例簡介 騰訊云混沌工程旨于為客戶提供適合各業(yè)務(wù)環(huán)節(jié)的混沌工程實(shí)踐解決方案,集成數(shù)百余故障注入原子能力,并采用混沌工程全生命周期的管理方案形式進(jìn)行整體管控,滿足客戶開展

37、常態(tài)化混沌工程實(shí)驗(yàn)需求。騰訊云混沌工程共累計(jì)實(shí)戰(zhàn)演練萬余次,發(fā)現(xiàn)并排查系統(tǒng)隱患故障,助力客戶系統(tǒng)優(yōu)化系統(tǒng)高可用性架構(gòu),有效地減少系統(tǒng)故障出現(xiàn)次數(shù),降低系統(tǒng)故障影響時長,提升客戶系統(tǒng)的運(yùn)營質(zhì)量。三、 用戶簡介 騰訊云,騰訊集團(tuán)傾力打造的云計(jì)算品牌,面向全世界各個國家和地區(qū)的政府機(jī)構(gòu)、企業(yè)組織和個人開發(fā)者,提供全球領(lǐng)先的云計(jì)算、大數(shù)據(jù)、人工智能等技術(shù)產(chǎn)品與服務(wù),以卓越的科技能力打造豐富的行業(yè)解決方案,構(gòu)建開放共贏的云端生態(tài),推動產(chǎn)業(yè)互聯(lián)網(wǎng)建設(shè),助力各行各業(yè)實(shí)現(xiàn)數(shù)字化升級。 四、 需求分析越來越多的業(yè)務(wù)選擇基于云原生技術(shù)構(gòu)建系統(tǒng)架構(gòu),在云原生架構(gòu)遷移的過程中,混沌工程可以助力構(gòu)建容錯性好、彈性可擴(kuò)展

38、的云原生系統(tǒng)。在這種時代背景下,混沌工程開源協(xié)同聯(lián)合協(xié)同團(tuán)隊(duì)與騰訊學(xué)院通力打造混沌工程系列課程,幫助業(yè)務(wù)了解混沌工程的思想和原則,并分享在不同的業(yè)務(wù)場景下如何實(shí)施落地混沌工程,為希望通過混沌工程來提升系統(tǒng)韌性的業(yè)務(wù)提供指引和幫助。隨著騰訊云的規(guī)模越來越大,無論是基礎(chǔ)設(shè)施還是產(chǎn)品架構(gòu)都越來越復(fù)雜,出現(xiàn)故障的風(fēng)險也越來越大,希望有個系統(tǒng)能夠:持續(xù)發(fā)現(xiàn)云產(chǎn)品服務(wù)的故障隱患,優(yōu)化服務(wù)架構(gòu);持續(xù)檢驗(yàn)云產(chǎn)品服務(wù)應(yīng)對解決故障的能力;持續(xù)檢驗(yàn)騰訊云監(jiān)控告警及服務(wù)自恢復(fù)的能力。騰訊云混沌工程正是因這個背景,通過主動注入故障,提前發(fā)現(xiàn)潛在問題,迭代改進(jìn)架構(gòu)和運(yùn)維方式,最終實(shí)現(xiàn)業(yè)務(wù)韌性。五、 技術(shù)方案介紹(一)混沌

39、工程整體技術(shù)框架圖用戶在通過云 API 的形式訪問的混沌工程平臺,通過網(wǎng)關(guān)過濾掉非法的請求內(nèi)容。由平臺根據(jù)用戶的權(quán)限提供相應(yīng)的功能。用戶的故障演練任務(wù)數(shù)據(jù)存儲在數(shù)據(jù)庫,故障注入整個流程采用的異步事務(wù)處理流程。服務(wù)端會創(chuàng)建演練數(shù)據(jù),通過消息隊(duì)列產(chǎn)生故障注入消息。動作庫在監(jiān)聽到消息內(nèi)容后,通過數(shù)據(jù)庫獲取到故障注入?yún)?shù)后,通過與 Agent 探針的通信通道,下發(fā)故障到目標(biāo)機(jī)。在執(zhí)行完成后,動作庫更新任務(wù)狀態(tài),完成整體的故障注入過程。圖 6 混沌工程整體技術(shù)框架圖 (二)基礎(chǔ)設(shè)施支持情況目前混沌工程平臺已支持物理機(jī)、虛擬機(jī)、Kubernetes(K8s)、關(guān)系型數(shù)據(jù)庫(MySQL)、負(fù)載均衡器(CLB

40、)、非關(guān)系型數(shù)據(jù)庫(Redis)等資源的故障注入能力。 (三)故障注入原子能力(共 200+故障原子能力)物理機(jī)、虛擬機(jī)CPU 負(fù)載、IO 負(fù)載、主機(jī)重啟、內(nèi)存負(fù)載、文件刪除、時間偏移、磁盤填充、網(wǎng)絡(luò)壓測、網(wǎng)絡(luò)限速、網(wǎng)絡(luò)丟包、自定義 Shell 腳本、網(wǎng)絡(luò)訪問不可達(dá)等;Kubernetes容器:CPU 負(fù)載、網(wǎng)絡(luò)延遲、域名訪問異常、網(wǎng)絡(luò)丟包、刪除容器等;Pod: 網(wǎng)絡(luò)延遲、網(wǎng)絡(luò)丟包、刪除 Pod、磁盤 IO 負(fù)載、磁盤滿載等;關(guān)系型數(shù)據(jù)庫(MySQL)主從實(shí)例不可以達(dá)、主備切換、設(shè)置最大連接數(shù)等;非關(guān)系數(shù)據(jù)庫(Redis)主備切換、主備節(jié)點(diǎn)不可用等;負(fù)載均衡器(CLB)集群宕機(jī)故障、外網(wǎng) IP

41、 封堵等。 (四)實(shí)驗(yàn)流程管理方案目前采用混沌工程全生命周期的管理方案形式,將生命周期分為事前、事中、事后三大部分進(jìn)行整體管控。事前:由產(chǎn)品架構(gòu)師根據(jù)現(xiàn)有的產(chǎn)品架構(gòu)提出基礎(chǔ)設(shè)施故障假說,明確演練的爆破順序編排、爆破范圍、人員安排。然后在混沌工程中創(chuàng)建演練計(jì)劃,通過演練計(jì)劃自動通知相關(guān)人員,同步整體的演練計(jì)劃方案。事中:創(chuàng)建演練,根據(jù)演練計(jì)劃的內(nèi)容一鍵生成演練任務(wù),由運(yùn)維人員根據(jù)整體方案的部署內(nèi)容以及爆破目標(biāo)的類型設(shè)定護(hù)欄閾值,確??刂朴绊懛秶?。配置穩(wěn)態(tài)監(jiān)控指標(biāo),方便及時了解相關(guān)目標(biāo)的數(shù)據(jù)指標(biāo)波動情況。演練審批,運(yùn)維人員在執(zhí)行前需要通過相關(guān)機(jī)器負(fù)責(zé)人審 批授權(quán),方便相關(guān)人員在第一時間知曉自身所負(fù)

42、責(zé)的機(jī)器要進(jìn)行演練。演練執(zhí)行,執(zhí)行人員根據(jù)配置的執(zhí)行模式(手動或者自動)進(jìn)行操作進(jìn)行故障注入。觀察穩(wěn)態(tài)指標(biāo),驗(yàn)證產(chǎn)品對于故障的反應(yīng)是否符合預(yù)期。執(zhí)行完成故障注入后,通過恢復(fù)動作移除故障,進(jìn)行穩(wěn)妥恢復(fù)。事后:總結(jié)復(fù)盤:根據(jù)本次演練的執(zhí)行結(jié)果進(jìn)行總結(jié)復(fù)盤。然后創(chuàng)建相應(yīng)的改進(jìn)事件督促產(chǎn)研方進(jìn)行容災(zāi)能力提升。演練報告:將事件的全流程形成大屏報告,發(fā)送給相關(guān)人員了解本次演練的全流程。 (五)實(shí)施遇到問題及解決思路問題:涉及的產(chǎn)品較多,其中包含了公司的重點(diǎn)產(chǎn)品。產(chǎn)研方出行安全的考慮,沒有深度參與混沌工程的使用。解決思路:第一,成立混沌工程推廣專項(xiàng)。從上到下推廣混沌工程全流程管理方案理念,設(shè)定各個產(chǎn)品的使用

43、目標(biāo);定期組織內(nèi)部分享會,協(xié)助產(chǎn)品方正確的使用混沌工程平臺。第二,提出準(zhǔn)生產(chǎn)模擬方案,利用產(chǎn)品方的準(zhǔn)生產(chǎn)環(huán)境進(jìn)行混沌工程爆破實(shí)驗(yàn),降低在生產(chǎn)環(huán)境的爆破風(fēng)險;對于未構(gòu)建準(zhǔn)生產(chǎn)環(huán)境的產(chǎn)品,利用容器能力,混沌工程平臺快速根據(jù)用戶提供的配置文件構(gòu)建沙箱環(huán)境,然后進(jìn)行實(shí)驗(yàn)。 六、 實(shí)驗(yàn)創(chuàng)新點(diǎn)云上產(chǎn)品存在幾個特點(diǎn):底層依賴多、迭代快、多地域部署,針對這幾個特點(diǎn),騰訊云混沌工程平臺做出創(chuàng)新的解決方案:結(jié)合網(wǎng)絡(luò)管理部門,實(shí)現(xiàn)快速探查目標(biāo)機(jī)器的組件依賴能力。通過混沌平臺的掃描工具,輸入目標(biāo)的域名,在 10 分鐘內(nèi)完成整體架構(gòu)的掃描。從而解決產(chǎn)品方在構(gòu)建準(zhǔn)生產(chǎn)環(huán)境時,需要大量人力來梳理復(fù)雜的組件依賴關(guān)系。配合內(nèi)部

44、的 DevOps 研效工具,以插件形式切入到持續(xù)部署(CD)流水線中。提高測試人員使用混沌工程的效率,從原先的半小時提高 到 10 分鐘(在混沌工程的構(gòu)建與使用上所耗費(fèi)的時間)。極大的減 輕測試人員在驗(yàn)證準(zhǔn)生產(chǎn)環(huán)境的工作量。組建虛擬組織,從上至下的推到混沌工程的使用落地。以縱向方式傳遞混沌工作全事件管理理念,以及混沌工程實(shí)施的好處;以橫向方式組織混沌工作案例交流會,讓各云產(chǎn)品相關(guān)人員針對混沌工程實(shí)施經(jīng)驗(yàn)進(jìn)行橫向交流。內(nèi)部設(shè)定產(chǎn)品的混沌工程成熟度評級制度,對于優(yōu)秀的云產(chǎn)品進(jìn)行嘉獎;對于成熟度低的產(chǎn)品制定輔導(dǎo)推進(jìn)計(jì)劃,協(xié)助相關(guān)負(fù)責(zé)人推進(jìn)云產(chǎn)品使用混沌工程平臺。 七、 實(shí)驗(yàn)收益為騰訊云提供適合各業(yè)務(wù)

45、環(huán)節(jié)的混沌工程實(shí)踐的解決方案,滿足業(yè)務(wù)測試日常的混沌試驗(yàn),提高分布式系統(tǒng)的彈性與韌性,建設(shè)了騰訊云混沌工程項(xiàng)目和混沌演練平臺項(xiàng)目。騰訊云混沌工程項(xiàng)目截止目前覆蓋 30+云產(chǎn)品,共累計(jì)實(shí)戰(zhàn)演練萬余次,發(fā)現(xiàn)并排查掉了發(fā)現(xiàn)并排查系統(tǒng)隱患故障,助力客戶系統(tǒng)優(yōu)化系統(tǒng)高可用性架構(gòu),有效地減少系統(tǒng)故障出現(xiàn)次數(shù),降低系統(tǒng)故障影響時長,提升客戶系統(tǒng)的運(yùn)營質(zhì)量。同時,在一個月內(nèi)結(jié)合內(nèi)部混沌工程最佳實(shí)踐從 0 到 1 建設(shè)并上線了騰訊云混沌演練平臺產(chǎn)品,目前已接入多家大客戶,助力客戶雙活架構(gòu)改造,提升騰訊云對客戶的支持效率。 八、 反思及改進(jìn)反思:混沌工程在內(nèi)部體系下的實(shí)施與云上協(xié)助用戶實(shí)施效果存在較大差異,云上混

46、沌工程產(chǎn)品效果低于預(yù)期。協(xié)助用戶在企業(yè)內(nèi)部進(jìn)行混沌工程的實(shí)驗(yàn)主要通過自上而下的推行,用戶的成員可以快速的響應(yīng)政策,加入到混沌工程使用的隊(duì)伍中。但是協(xié)助用戶構(gòu)建云上混沌工程產(chǎn)品時,因?yàn)榇蟛糠挚蛻暨€ 處于一個觀望和測試階段,難以將較為真實(shí)的場景進(jìn)行混沌工程實(shí)驗(yàn)。改進(jìn)措施:協(xié)助用戶舉辦線下活動。以行業(yè)范圍來劃分客戶群體,協(xié)助用戶對客戶進(jìn)行混沌工程理念的宣講與溝通;提高用戶的混沌工程產(chǎn)品在行業(yè)內(nèi)的影響力。協(xié)助用戶將相關(guān)培訓(xùn)資料定期通過線上課程、論壇、博客等形式推廣產(chǎn)品,提高客戶對于用戶產(chǎn)品的認(rèn)可度。 4. 京東科技:京東云全平臺破壞演練一、 申報單位 京東科技信息技術(shù)有限公司。二、 案例簡介 隨著云計(jì)

47、算被各行業(yè)廣泛應(yīng)用并成為關(guān)鍵基礎(chǔ)設(shè)施,云的穩(wěn)定性越來越重要。政務(wù)、金融、互聯(lián)網(wǎng)、制造、能源等各行業(yè)逐漸將核心業(yè)務(wù)和數(shù)據(jù)部署到云上,如何評估及保障云產(chǎn)品特別是云平臺整體的穩(wěn)定性是各家云廠商必須面臨和解決的問題,也是已上云、有上云計(jì)劃企業(yè)關(guān)注的核心問題。為了評價和提升云平臺面對失控情況下的抗脆弱能力、建立產(chǎn)品 信心,京東云需要落地混沌工程中更為復(fù)雜的業(yè)務(wù)場景,即全平臺階 段性驗(yàn)收大演練,涉及全平臺、全系統(tǒng)、大規(guī)模下的復(fù)雜場景。一方 面驗(yàn)證系統(tǒng)在各類真實(shí)故障場景下的表現(xiàn),并對問題加以分析和優(yōu)化,使得系統(tǒng)的“抗脆弱性”持續(xù)增強(qiáng),同時提高云產(chǎn)品的穩(wěn)定性,進(jìn)而 提高服務(wù)可用性 SLA。本案例主要描述了京東

48、云全平臺破壞演練場景下的解決方案和落地效果。通過多年的京東 618、雙 11,以及 2022 央視春晚的磨練,京東 云成為混沌工程的領(lǐng)先實(shí)踐者和受益者,從單業(yè)務(wù)場景故障到整機(jī)房 故障宕機(jī),京東云完美通過各類復(fù)雜場景考驗(yàn)。作為最懂產(chǎn)業(yè)的云,京東云將積極在混沌工程領(lǐng)域的探索,并持續(xù)輸出京東云的成功經(jīng)驗(yàn),助力產(chǎn)業(yè)數(shù)字化過程中 IT 系統(tǒng)穩(wěn)定性的持續(xù)提升。 三、 用戶簡介 京東科技集團(tuán)是京東集團(tuán)旗下專注于以技術(shù)為產(chǎn)業(yè)服務(wù)的業(yè)務(wù)子集團(tuán),致力于為企業(yè)、金融機(jī)構(gòu)、政府等各類客戶提供全價值鏈的技術(shù)性產(chǎn)品與解決方案。依托人工智能、大數(shù)據(jù)、云計(jì)算、物聯(lián)網(wǎng)等前沿科技能力,京東科技打造出了面向不同行業(yè)的產(chǎn)品和解決方案

49、,以此幫助全社會各行業(yè)企業(yè)降低供應(yīng)鏈成本,提升運(yùn)營效率,成為值得產(chǎn)業(yè)信賴的數(shù)字合作伙伴。京東云(JD Cloud)是京東科技旗下的智能技術(shù)提供商,依托京東集團(tuán)在人工智能、大數(shù)據(jù)、云計(jì)算、物聯(lián)網(wǎng)等方面的業(yè)務(wù)實(shí)踐和技術(shù)積淀,打造服務(wù)于數(shù)字企業(yè)、數(shù)字政府的多維場景解決方案。 四、 需求分析 為了評價和提升云平臺面對失控情況下的抗脆弱能力、建立產(chǎn)品信心,京東云需要落地混沌工程:驗(yàn)證系統(tǒng)在各類真實(shí)故障場景下的表現(xiàn)對問題加以分析和優(yōu)化,使得系統(tǒng)的“抗脆弱性”持續(xù)增強(qiáng)提高云產(chǎn)品的穩(wěn)定性,進(jìn)而提高服務(wù)可用性 SLA 在具體的落地中,方案需要支持兩種場景:CICD 場景,單產(chǎn)品單系統(tǒng)的故障注入和演練,確保單系統(tǒng)

50、、或少量產(chǎn)品組合下的抗脆弱能力。此場景主要覆蓋:資源占滿、進(jìn)程異常、網(wǎng)絡(luò)延時、實(shí)例切換等場景。全平臺階段性驗(yàn)收大演練,關(guān)注全平臺、全系統(tǒng)、大規(guī)模下的復(fù)雜場景。 五、 技術(shù)方案介紹 (一)演練目的:主動發(fā)現(xiàn)公有云穩(wěn)定性風(fēng)險,提前加固,模擬嚴(yán)重故障,需要全平臺一起聯(lián)動的場景。驗(yàn)證故障發(fā)生時,各產(chǎn)品:可用性(SLA 偏移及損耗)、報警及時性、預(yù)案有效性、MTTR、人員操作熟練度等。(二)演練環(huán)境:由于是全平臺嚴(yán)重故障模擬,在當(dāng)前情況下為避免在生產(chǎn)環(huán)境爆炸半徑過大導(dǎo)致產(chǎn)生重大影響的線上故障,本次云平臺整體故障演練是在公有云仿真環(huán)境進(jìn)行。為更真實(shí)的模擬生產(chǎn)環(huán)境,演練前需要對仿真環(huán)境進(jìn)行治理和必要的準(zhǔn)備:

51、模擬京東公有云某區(qū)域多可用區(qū)部署參演產(chǎn)品根據(jù)特點(diǎn)進(jìn)行跨 AZ、AZ 內(nèi)高可用部署明確所部署產(chǎn)品與對應(yīng)物理機(jī)資源、虛擬機(jī)資源的對應(yīng)關(guān)系各產(chǎn)品留足資源冗余水位,確保滿足自愈、穩(wěn)態(tài)驗(yàn)證等需求各產(chǎn)品部署版本大于等于生產(chǎn)環(huán)境版本將服務(wù)間依賴信息作為基準(zhǔn)數(shù)據(jù)設(shè)計(jì)有一定云產(chǎn)品覆蓋度的業(yè)務(wù)場景,例如電商場景、物流場景等對業(yè)務(wù)進(jìn)行大并發(fā)壓力準(zhǔn)備資源穩(wěn)態(tài)和業(yè)務(wù)穩(wěn)態(tài)監(jiān)控準(zhǔn)備仿真環(huán)境概況:(三)演練流程:圖 7 京東云平臺仿真環(huán)境 穩(wěn)態(tài)指標(biāo):圖 8 京東云全平臺故障演練流程 為實(shí)現(xiàn)在演練過程中實(shí)時、全局觀測各產(chǎn)品穩(wěn)態(tài),需要在演練前做好穩(wěn)態(tài)監(jiān)控的配置。京東云云泰故障注入與演練平臺提供了強(qiáng)大的穩(wěn)態(tài)監(jiān)控能力,包括云資源穩(wěn)態(tài)

52、(SLI 實(shí)時探測、SLA 損耗分析)和業(yè)務(wù)穩(wěn)態(tài)兩大部分。云資源穩(wěn)態(tài)示意圖:采用云所承諾的 SLA 算法,對每一個云資源實(shí)例進(jìn)行可用性主動探測。通過實(shí)時對 SLI 和 SLA 偏移量對比,評價故障對云資源可用性的影響。業(yè)務(wù)穩(wěn)態(tài)示意圖:圖 9 云資源穩(wěn)態(tài)示意圖 支持配置任意協(xié)議及自定義腳本,支持調(diào)試。首屏實(shí)時觀測云平臺所有產(chǎn)品當(dāng)前的整體穩(wěn)態(tài)情況,次屏可觀察產(chǎn)品各監(jiān)控項(xiàng)的成功率和耗時以及失敗日志。圖 10 業(yè)務(wù)穩(wěn)態(tài)示意圖: 通過壓測結(jié)果反饋穩(wěn)態(tài)變化: 圖 11 壓測結(jié)果觀測穩(wěn)態(tài)變化 (四)演練場景編排:本案例目標(biāo)是模擬會影響整個京東云的嚴(yán)重故障,爆炸半徑較大,期望在嚴(yán)重故障場景下發(fā)現(xiàn)各產(chǎn)品穩(wěn)定性風(fēng)

53、險。梳理了內(nèi)外部容易發(fā) 生的嚴(yán)重故障,結(jié)合內(nèi)部實(shí)際需求,制定了主要故障場景和預(yù)期結(jié)果 如下表: 表 1 主要故障場景和預(yù)期結(jié)果 京東云云泰故障注入與演練平臺的基礎(chǔ)資源故障可很好的支持虛擬路由、虛擬交換機(jī)、柜頂交換機(jī)以及普通服務(wù)器的開關(guān)機(jī)、數(shù)據(jù)庫無法訪問、DNS 服務(wù)不可用等故障,自定義故障類型可支持專線網(wǎng)絡(luò)到骨干網(wǎng)不通和恢復(fù)的模擬。(五)演練場景執(zhí)行和問題分析定位在全平臺大演練中,對參與演練的同事進(jìn)行了角色劃分,各角色在演練過程中按照如下分工協(xié)同作戰(zhàn),完成各故障場景的演練執(zhí)行以及問題分析定位。圖 12 演練場景執(zhí)行和問題分析定位 (六)演練總結(jié)演練結(jié)束后,從以下幾個方面進(jìn)行了總結(jié):復(fù)盤演練全過

54、程,總結(jié)得與失;各演練 case 是否滿足預(yù)期,如不滿足預(yù)期,明確根因及待解決項(xiàng);故障發(fā)生時各產(chǎn)品監(jiān)控報警是否及時準(zhǔn)確、預(yù)案是否有效等;服務(wù)依賴情況校準(zhǔn)。(七)平臺技術(shù)框架京東云-云泰故障注入與演練平臺,基于混沌工程原理,通過故障的仿真和注入、結(jié)合業(yè)務(wù)“穩(wěn)定狀態(tài)”監(jiān)控檢驗(yàn)系統(tǒng)的健壯性和可用性。 圖 13 云泰故障注入與演練平臺技術(shù)框架 基礎(chǔ)設(shè)施故障:CPU、內(nèi)存占用、網(wǎng)絡(luò)延遲/丟包、磁盤故障、殺進(jìn)程等。K8S 故障:殺 pod、pod 資源占用類故障、pod 網(wǎng)絡(luò)類故障、容器 remove、容器資源占用類故障、容器網(wǎng)絡(luò)類故障、node 資源及網(wǎng)絡(luò)類故障等。應(yīng)用服務(wù)故障:數(shù)據(jù)庫、Redis、ES

55、 延時和自定義異常,JVM類故障。自定義故障:主機(jī)宕機(jī)、開機(jī)、自定義 shell 命令、交換機(jī)等自定義故障。六、 實(shí)驗(yàn)創(chuàng)新點(diǎn) 組織云底座&100+云產(chǎn)品參與的云平臺整體破壞性演練是非常有挑戰(zhàn)性的,如何保證在一天的時間內(nèi)有序完成多個嚴(yán)重故障模擬、實(shí)時評價各產(chǎn)品業(yè)務(wù)穩(wěn)態(tài)、并同步定位和分析可能出現(xiàn)的高可用問題,需要在演練組織上、混沌工程平臺功能上都有所創(chuàng)新。(一)創(chuàng)新的組織保障機(jī)制成立演練小組,明確總指揮和導(dǎo)演小組??傊笓]負(fù)責(zé)總體把控演練啟動宣貫、演練前各項(xiàng)工作的準(zhǔn)備和治理、演練當(dāng)天的各事項(xiàng)明確和推進(jìn)。導(dǎo)演小組有多人,每人負(fù)責(zé)多個產(chǎn)品的具體事項(xiàng)跟進(jìn),如演練前的產(chǎn)品部署情況確認(rèn)、高可用情況確認(rèn)、穩(wěn)態(tài)監(jiān)

56、控和配置;演練中的產(chǎn)品穩(wěn)態(tài)實(shí)時監(jiān)控、問題定位和分析;演練后的問題梳理和待跟進(jìn)項(xiàng)明確。 在本演練案例中,正是得益于總指揮的全局統(tǒng)籌、導(dǎo)演小組各成員的協(xié)調(diào)推進(jìn),加上各產(chǎn)品接口人職責(zé)明確,促成了本次大規(guī)模演練有序、按時、高質(zhì)量的完成。創(chuàng)新的多視角穩(wěn)態(tài)評價、故障根因定位云產(chǎn)品不是常規(guī)的接口類業(yè)務(wù)系統(tǒng),每個云產(chǎn)品的日常監(jiān)控能力和監(jiān)控項(xiàng)都是分散在各個監(jiān)控途徑,且具體的監(jiān)控項(xiàng)內(nèi)容基本是不一致的。為了滿足大規(guī)模演練時有統(tǒng)一的監(jiān)控結(jié)果展示和問題定位的途徑,混沌工程平臺創(chuàng)新性的支持了:在平臺進(jìn)行各云產(chǎn)品的控制面和數(shù)據(jù)面監(jiān)控項(xiàng)分別配置(支持任意協(xié)議、自定義腳本等)和調(diào)試。自動在混沌工程平臺生成實(shí)時可用性趨勢大屏,次

57、屏可展示詳細(xì)監(jiān)控項(xiàng)成功率和耗時趨勢、異常日志追溯。次屏可以關(guān)聯(lián)故障事件,能直觀、精確的看到故障發(fā)生、恢復(fù)時,穩(wěn)態(tài)的變化情況,滿足一站式演練、實(shí)時的監(jiān)控和快速的問題定位。綜合多視角穩(wěn)態(tài)評估:“業(yè)務(wù)穩(wěn)態(tài)+資源 SLI 穩(wěn)態(tài)+產(chǎn)品功能穩(wěn)態(tài)+性能穩(wěn)態(tài)”。(二)創(chuàng)新的云底座故障模擬方法通過自定義故障注入的方案,可自動化模擬主機(jī)宕機(jī)、開機(jī)、自定義 shell、交換機(jī)等故障。使深層次、大面積故障的自動模擬和恢復(fù)得以低門檻實(shí)施。七、 實(shí)驗(yàn)收益 “京東云全平臺破壞演練項(xiàng)目” 積累了混沌工程在大規(guī)模、復(fù)雜場景落地實(shí)踐的經(jīng)驗(yàn),提前發(fā)現(xiàn)了近 40 個風(fēng)險和問題,驗(yàn)證了在機(jī)房、專線、機(jī)架、物理機(jī)、虛擬機(jī)、進(jìn)程、依賴等故

58、障下,預(yù)案的有效性、監(jiān)控及時性、流程適配性、人員熟練度,并獲取了第一手 MTTR數(shù)據(jù),進(jìn)一步理清服務(wù)依賴,潛在風(fēng)險挖掘,和風(fēng)險影響范圍,有助于制定下一步全平臺穩(wěn)定性改進(jìn)方向和方案。得益于“京東云全平臺破壞演練項(xiàng)目”的階段性、持續(xù)性實(shí)施和迭代,京東云可用性大幅提升,其中云計(jì)算可用性提升至 99.995%,躋身世界一流云計(jì)算廠商行列。在細(xì)化指標(biāo)上,京東云的故障數(shù)、MTTR大幅降低,故障提前發(fā)現(xiàn)率大幅提升。 八、 反思及改進(jìn) 在故障演練過程中,個別被其他產(chǎn)品依賴的基礎(chǔ)組件和產(chǎn)品在出現(xiàn)不可用問題后,分析、定位和解決的時間較長,影響了其他產(chǎn)品的 MTTR 數(shù)據(jù)有效性,需要針對此類產(chǎn)品在大演練前進(jìn)行單項(xiàng)小

59、演練,最大程度避免此類問題在大演練時發(fā)生。為了識別此類組件和產(chǎn)品,需要對所有參演產(chǎn)品提前進(jìn)行關(guān)鍵依賴梳理和驗(yàn)證。(未來改進(jìn)工作項(xiàng): Ring 環(huán)依賴識別和治理)本次演練中有多個產(chǎn)品出現(xiàn)了因運(yùn)維人員對預(yù)案執(zhí)行不熟練導(dǎo)致操作遺漏、操作錯誤的問題,為了避免此類問題在后續(xù)演練甚至線上運(yùn)維時發(fā)生,需要提高各產(chǎn)品運(yùn)維人員對預(yù)案,特別是較少發(fā)生的故障應(yīng)對預(yù)案的熟悉程度,提高預(yù)案執(zhí)行的效率和準(zhǔn)確性。(未來改進(jìn)工作項(xiàng):定期演練,預(yù)案自動化率提升,故障自愈率提升。) 第二部分 銀行領(lǐng)域 工商銀行:工商銀行混沌工程平臺及混沌演練實(shí)踐一、 申報單位 中國工商銀行。二、 案例簡介 本案例為中國工商銀行在混沌技術(shù)領(lǐng)域三年

60、的研究實(shí)踐分享。為提升“云計(jì)算+分布式”架構(gòu)體系運(yùn)行穩(wěn)定性,中國工商銀行于 2019年開始建設(shè)混沌工程故障演練方案,運(yùn)用混沌工程技術(shù),建設(shè)故障演練平臺,形成涵蓋系統(tǒng)、應(yīng)用、容器三大類 100 余種故障演練能力,提供介質(zhì)下發(fā)、壓測發(fā)起、故障實(shí)施、環(huán)境恢復(fù)的自動化演練能力,形成常態(tài)化的故障演練機(jī)制。截至 2022 年 4 月,故障演練平臺使用人員已超 700 人,落地 250 余個業(yè)務(wù)系統(tǒng),累計(jì)超 1 萬個演練案例。通過主動制造故障,幫助落地應(yīng)用發(fā)現(xiàn) 400 余個高可用問題,提前預(yù)防平臺系統(tǒng)性風(fēng)險,并通過信通院可信云混沌工程平臺能力評估最高級別“先進(jìn)級”認(rèn)證,成為業(yè)界首批且金融同業(yè)首家拿到最高級別

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論