打破傳統(tǒng)的質(zhì)量評測手段
童庭堅(jiān)(PerfMa 技術(shù)部CTO)
《打破傳統(tǒng)的質(zhì)量評測手段》演講
?
TiD2020質(zhì)量競爭力大會邀請了PerfMa 技術(shù)部CTO童庭堅(jiān)為參會者帶來《打破傳統(tǒng)的質(zhì)量評測手段》精彩演講。
?
童庭堅(jiān)從“為何故障防不勝防,不斷增強(qiáng)系統(tǒng)的反脆弱性,在不確定性中獲益”三部分,闡述打破傳統(tǒng)的質(zhì)量評測手段,增強(qiáng)系統(tǒng)穩(wěn)定性。
(一)?我們總會有這樣的顧慮
1. 顧慮一:有做性能測試,但僅代表實(shí)驗(yàn)室
我們有比較完善的性能測試規(guī)范和手段,對于重大項(xiàng)目變更發(fā)布前都會進(jìn)行性能驗(yàn)證,但因?yàn)榄h(huán)境、數(shù)據(jù)和生產(chǎn)的差異,測試結(jié)果僅能代表實(shí)驗(yàn)室數(shù)據(jù)。因此,即便有正式的測試報(bào)告,運(yùn)維人員依然會為版本迭代上線后或重大營銷活動的容量和性能擔(dān)憂。
童庭堅(jiān)講到這主要是兩大原因:一是環(huán)境差異,二是場景差異。
2. 顧慮二:我們項(xiàng)目緊急,來不及做性能測試
隨著業(yè)務(wù)需求迭代速度加快,很多項(xiàng)目發(fā)布周期短,再加上測試資源不夠用,所以發(fā)布前大部分變更只做功能驗(yàn)證,而上線后系統(tǒng)響應(yīng)很慢,或業(yè)務(wù)不可用的情況難以避免。
3. 顧慮三:平時(shí)生產(chǎn)水位很低很低,從沒出現(xiàn)過這種情況
考慮到生產(chǎn)容量的安全線,運(yùn)維部門通常會通過設(shè)備冗余手段來保障。所以,平時(shí)設(shè)備水位會非常低,以應(yīng)變不確定性大流量業(yè)務(wù)場景。事實(shí)上,這種手段也是防不勝防。
不論是業(yè)務(wù)場景的變化(線下業(yè)務(wù)模式轉(zhuǎn)到線上),還是業(yè)務(wù)量的突增,都可能會導(dǎo)致系統(tǒng)出現(xiàn)用戶訪問卡頓甚至無法響應(yīng)的情況,比如:疫情期間線上零售(買藥/買口罩/買菜)、直播、教育等行業(yè)明顯出現(xiàn)此類情況。
(二)?系統(tǒng)穩(wěn)定性為何如此不堪一擊
開發(fā)、架構(gòu)、運(yùn)維,測試,都會擔(dān)心系統(tǒng)的脆弱性。那么我們?nèi)绾稳ケU险麄€(gè)生產(chǎn)的穩(wěn)定性?
系統(tǒng)的性能、可靠性能力都將直接影響到系統(tǒng)穩(wěn)定性,我們把這次測試歸屬為非功能測試。非功能測試不同于功能測試,功能偏重于對業(yè)務(wù)的理解和測試方法,而性能、可靠性測試還需要有足夠的架構(gòu)理解和性能分析及調(diào)優(yōu)力,業(yè)內(nèi)在非功能測試(尤其是性能和可靠性測試)上投入大的企業(yè)為數(shù)不多,這也就意味著不可能建立較為完整的性能保障體系。所以,生產(chǎn)系統(tǒng)的穩(wěn)定性風(fēng)險(xiǎn)隨時(shí)可能爆發(fā)。
(一)?什么是反脆弱
1.?反脆弱是什么
反脆弱是脆弱的反面,脆弱的反面并不是堅(jiān)強(qiáng)或堅(jiān)韌。堅(jiān)強(qiáng)或堅(jiān)韌只是保證一個(gè)事物在不確定性中不受傷,保持不變,卻沒有辦法更進(jìn)一步,讓自己變得更好。而脆弱的反面應(yīng)該完成這個(gè)步驟,不僅在風(fēng)險(xiǎn)中保全自我,而且變得更好、更有力量。做一個(gè)類比的話,堅(jiān)強(qiáng)或堅(jiān)韌就像一個(gè)被扔到地上的紙團(tuán),不會摔壞,但是也只是維持了原貌,這還不夠。
2.?反脆弱的目的
和紙團(tuán)相反,乒乓球扔到地上非但不會摔壞,反而可以彈得更高。乒乓球擁有的就是脆弱反面的能力,也就是反脆弱。反脆弱是塔勒布定義的一個(gè)全新概念,和脆弱剛好相反,指向了另一個(gè)方向,指出事物在風(fēng)險(xiǎn)和不確定性面前并不是束手無策的,完全可以扭虧為盈。
(二)?打有準(zhǔn)備的仗,業(yè)務(wù)井噴之下,依舊絲般順滑
IT系統(tǒng)的反脆弱能力不是說高流量下通過限流保護(hù)自己不被擊垮,而是讓生產(chǎn)系統(tǒng)的架構(gòu)具備彈性能力,更像是提升系統(tǒng)反脆弱能力。
系統(tǒng)的反脆弱能力,可以從兩個(gè)方面考慮,一個(gè)是防御能力,另一個(gè)是是應(yīng)急能力。防御能力包括架構(gòu)設(shè)計(jì)、研發(fā)實(shí)現(xiàn)、質(zhì)量評測。應(yīng)急能力包括監(jiān)控、定位、止血及解決能力。
如何去提升系統(tǒng)的反脆弱能力?童庭堅(jiān)重點(diǎn)介紹了能力體系中的一種方法:全鏈路壓測。
(三)?為什么“他”的反脆弱性可以歷練得如此之強(qiáng)?
?

童庭堅(jiān)介紹了自己在阿里經(jīng)歷過的雙11期間從提心吊膽、只怕意外到絲般順滑的3個(gè)階段。
2012年到2014年是提心吊膽階段。在雙11之前,線下對系統(tǒng)進(jìn)行性能相關(guān)的壓測,運(yùn)維同學(xué)在生產(chǎn)做引流壓測,這兩種手段結(jié)合對系統(tǒng)的容量進(jìn)行評估。但事實(shí)上,在2013年前的多屆雙11經(jīng)常會有各種各樣的故障出現(xiàn),尤其在雙11業(yè)務(wù)高峰時(shí),出現(xiàn)用戶體驗(yàn)下滑的情況。
在2014年上半年,當(dāng)時(shí)各業(yè)務(wù)線架構(gòu)、中間件、DBA、質(zhì)量等團(tuán)隊(duì)共同落地了全鏈路壓測方法。雖然2014年到2015年期間有了全鏈路壓測方法,但一直處于容量驗(yàn)證的階段,因?yàn)閮H僅驗(yàn)證容量是不夠的,擔(dān)心出現(xiàn)意外情況。比如業(yè)務(wù)場景預(yù)判有偏差或其他未驗(yàn)證到位的隱患暴露,可能就會影響系統(tǒng)可用率。
2015年到2017年是絲般順滑階段?;谌溌穳簻y方法,實(shí)現(xiàn)生產(chǎn)重大變更、預(yù)案的演練。全鏈路壓測方法不單單驗(yàn)證性能,其更大的價(jià)值會在系統(tǒng)的健壯性和可靠性歷練上。在雙11的真正業(yè)務(wù)高峰來臨時(shí),各類場景都經(jīng)過演練,做到胸有成竹的信心對技術(shù)人而言,就可以理解絲般順滑了。這體現(xiàn)了全鏈路壓測方法的整體價(jià)值。
前面提到的“從傳統(tǒng)質(zhì)測局面中突圍”,其實(shí)指的就是全鏈路壓測方法。
(四)?一種“從傳統(tǒng)質(zhì)測局面中突圍”的反脆弱能力提升方法
全鏈路壓測方法
?

全鏈路壓測方法起初在螞蟻經(jīng)歷了幾個(gè)階段的演變,在12年前基本的測試方法還是線下做單系統(tǒng)壓測,針對評測出的問題進(jìn)行分析和優(yōu)化。這種測試方法可以發(fā)現(xiàn)單體系統(tǒng)本身的性能瓶頸。由于驗(yàn)證整條業(yè)務(wù)鏈路上的系統(tǒng)集成性能表現(xiàn),所以生產(chǎn)出現(xiàn)一些集成情況下的性能容量問題仍然常見。
2012-2013年我們在實(shí)驗(yàn)室環(huán)境中構(gòu)建了全鏈路系統(tǒng)進(jìn)行了業(yè)務(wù)鏈路系統(tǒng)回歸,由于螞蟻的系統(tǒng)較多,我們根據(jù)系統(tǒng)的等級劃分來確定核心業(yè)務(wù)鏈路回歸范圍。對于核心鏈路以外的系統(tǒng),可以采用擋板模式做服務(wù)模擬。通過這樣的方法針對每個(gè)日常迭代版本進(jìn)行實(shí)驗(yàn)室評測,當(dāng)時(shí)我們把這個(gè)方法叫關(guān)鍵業(yè)務(wù)鏈路回歸壓測。
事實(shí)上,關(guān)聯(lián)業(yè)務(wù)鏈路回歸壓測畢竟是在測試環(huán)境,和生產(chǎn)的環(huán)境差異較大,壓測的結(jié)果對運(yùn)維部門而言參考度并不高,所以,通常在營銷活動前,運(yùn)維人員會在生產(chǎn)上做大規(guī)模的引流壓測(通過真實(shí)流量轉(zhuǎn)發(fā)的方式實(shí)現(xiàn)引流),這也是早期在螞蟻金服用的最多的容量驗(yàn)證手段,就是引流壓測。
由于引流壓測只能針對單個(gè)集群間的流量轉(zhuǎn)發(fā),所以驗(yàn)證的方式和實(shí)驗(yàn)室的單系統(tǒng)壓測類似,只是引流壓測在生產(chǎn)是真實(shí)環(huán)境,不存在環(huán)境差異導(dǎo)致的仿真度問題。但弊端也很明顯,所以希望做全鏈路級別的生產(chǎn)壓測。
生產(chǎn)壓測有幾大不可缺失的能力。包括:流量模擬、流量識別、風(fēng)險(xiǎn)識別、風(fēng)險(xiǎn)熔斷等,這些能力的目的都是考慮如何規(guī)避生產(chǎn)環(huán)境壓測所帶來的風(fēng)險(xiǎn)。
生產(chǎn)壓測的顧慮

?
在阿里有兩套全鏈路壓測體系,一套是淘系,另一套是螞蟻。因?yàn)殡娚毯徒鹑诖嬖诒容^大區(qū)別,金融行業(yè)以穩(wěn)為主,全鏈路壓測的目標(biāo)是保障穩(wěn)定性,但是它也會帶來穩(wěn)定性風(fēng)險(xiǎn),所以金融行業(yè)落地該方法是一個(gè)比較大的挑戰(zhàn)。

?
全鏈路壓測方法從多地域模擬真實(shí)用戶流量對生產(chǎn)系統(tǒng)施加壓力,但它不僅僅是一個(gè)壓測工具,還需要能實(shí)時(shí)感知到生產(chǎn)系統(tǒng)承受壓力時(shí)的風(fēng)險(xiǎn)大小,以決策壓力調(diào)度引擎應(yīng)該降流量還是直接熔斷,決策的精準(zhǔn)度和實(shí)時(shí)性對技術(shù)人員也是巨大挑戰(zhàn)。
3
?全鏈路壓測-風(fēng)險(xiǎn)防控體系
如果我們采用傳統(tǒng)的性能測試方法在生產(chǎn)上實(shí)施壓測,量進(jìn)入生產(chǎn)后,數(shù)據(jù)將會落到生產(chǎn)數(shù)據(jù)庫中,假設(shè),壓測數(shù)據(jù)跟生產(chǎn)數(shù)據(jù)是相同的,這種情況就會造成真實(shí)用戶數(shù)據(jù)污染。所以,對于生產(chǎn)壓測,首先要解決的是生產(chǎn)風(fēng)險(xiǎn)防控體系。這里我們挑幾個(gè)關(guān)鍵能力進(jìn)行介紹。

?
流量染色
壓測工具模擬各地的流量將進(jìn)入生產(chǎn)環(huán)境中,與真實(shí)業(yè)務(wù)流量運(yùn)行同一套環(huán)境,所以流量染色也是生產(chǎn)壓測最重要的技術(shù)之一。假如在壓測過程中,壓測流量身份出現(xiàn)丟失的情況,就意味著應(yīng)用無法識別是測試用戶行為還是真實(shí)用戶行為,其結(jié)果就是造成數(shù)據(jù)污染。
日志隔離
流量染色時(shí)大前提,染色后可進(jìn)行日志的隔離。日志隔離的目的是為防止測試流量產(chǎn)生的日志和生產(chǎn)流量產(chǎn)生的日志相互混淆。因?yàn)槿绻罩净煸谝黄?,并且沒有明確的標(biāo)識區(qū)分日志的話,很可能會影響基于日志的業(yè)務(wù)監(jiān)控或者離線BI分析數(shù)據(jù)。比如一個(gè)賬戶頻繁的登錄,其實(shí)是由于壓測模擬登陸,離線端BI分析出這個(gè)賬戶是活躍用戶,這種情況下可能會造成營銷成本的浪費(fèi)。
數(shù)據(jù)隔離
數(shù)據(jù)隔離和日志隔離手段類似,但數(shù)據(jù)的污染比日志污染更為嚴(yán)重,數(shù)據(jù)污染將直接影響到最終用戶。
風(fēng)險(xiǎn)熔斷
有了流量染色、日志隔離、數(shù)據(jù)隔離,做到了不污染生產(chǎn)環(huán)境的任何資產(chǎn),前面我們提到生產(chǎn)壓測對生產(chǎn)的穩(wěn)定性也會有影響,所以,風(fēng)險(xiǎn)的感知與風(fēng)險(xiǎn)的熔斷能力是必不可少的。
①?風(fēng)險(xiǎn)防控體系-數(shù)據(jù)隔離能力
數(shù)據(jù)隔離能力有多種實(shí)現(xiàn)方式,一種是通過侵入式在中間件層面進(jìn)行改造,或者直接在應(yīng)用系統(tǒng)當(dāng)中進(jìn)行改造業(yè)務(wù)代碼,實(shí)現(xiàn)數(shù)據(jù)的路由、數(shù)據(jù)的隔離。
另外一種手段是通過字節(jié)碼技術(shù)增強(qiáng)數(shù)據(jù)訪問層,比如說rpc框架的關(guān)鍵數(shù)據(jù)路由收口處。
數(shù)據(jù)隔離能力有三種實(shí)現(xiàn)方法:影子庫、影子表、影子數(shù)據(jù)。從影子庫、影子表到影子數(shù)據(jù),代表著仿真度從低到高,風(fēng)險(xiǎn)從高到低。
影子庫采用獨(dú)立的數(shù)據(jù)源實(shí)現(xiàn)庫級別隔離,比如說在應(yīng)用上實(shí)現(xiàn)兩套數(shù)據(jù)源。通過流量標(biāo)識來決定路由影子庫連接,生產(chǎn)流量選擇生產(chǎn)庫連接。
影子表技術(shù),采用SQL轉(zhuǎn)換實(shí)現(xiàn)表級別隔離。對于DB而言,影子表技術(shù)的運(yùn)維成本和風(fēng)險(xiǎn)會高于影子庫,影子庫可以進(jìn)行CIUD操作。但是影子表情況下,誤操作的風(fēng)險(xiǎn)較大,可能因SQL編寫錯(cuò)誤而導(dǎo)致誤操作真實(shí)用戶表數(shù)據(jù)。
影子數(shù)據(jù)是采用字段標(biāo)識實(shí)現(xiàn)在同表不同記錄級別隔離。比如有一個(gè)字段是標(biāo)志這條記錄是測試數(shù)據(jù)還是生產(chǎn)數(shù)據(jù)。但這個(gè)方案的運(yùn)維成本和風(fēng)險(xiǎn)會有更高挑戰(zhàn)。
數(shù)據(jù)隔離方案的選擇取決于企業(yè)IT系統(tǒng)設(shè)施的成熟度,需要根據(jù)每個(gè)企業(yè)的現(xiàn)狀來選擇合適的方案。
②?風(fēng)險(xiǎn)防控體系-壓測管控能力
?

在生產(chǎn)系統(tǒng)上建設(shè)相應(yīng)的風(fēng)險(xiǎn)防控能力后,全鏈路壓力發(fā)起畢竟發(fā)生在生產(chǎn)環(huán)境,和我們?nèi)粘Ia(chǎn)運(yùn)維變更一樣是高風(fēng)險(xiǎn)操作,所以壓測實(shí)施需要有合理的流程進(jìn)行控制。以下按照風(fēng)險(xiǎn)可控的最高要求對壓測風(fēng)險(xiǎn)的管控階段進(jìn)行闡述。
第一,由系統(tǒng)測試人員指定壓測場景、壓測目標(biāo)進(jìn)行提測,全鏈路壓測平臺將自動進(jìn)行冒煙和預(yù)熱。冒煙這個(gè)環(huán)節(jié)非常重要,既可以驗(yàn)證業(yè)務(wù)功能也可以檢查壓測風(fēng)險(xiǎn)。比如,生產(chǎn)發(fā)一筆流量,平臺把這筆流量經(jīng)過的全鏈路系統(tǒng)涉及到的所有日志、數(shù)據(jù)、緩存都反饋到平臺上,并基于一定的規(guī)范進(jìn)行校驗(yàn)是否有污染風(fēng)險(xiǎn)。比如,影子表的規(guī)則可以在表后加上test,影子Key也同樣可以這樣做。如果冒煙存在風(fēng)險(xiǎn)則不允許壓測。
冒煙通過以后進(jìn)行預(yù)熱。預(yù)熱也可以設(shè)定一些規(guī)則,比如說允許提測的場景1%的流量進(jìn)行預(yù)熱。預(yù)熱的目的是在冒煙基礎(chǔ)上進(jìn)行小規(guī)模流量驗(yàn)證,避免直接大流量壓測而產(chǎn)生風(fēng)險(xiǎn)。
冒煙和預(yù)熱通過后即可進(jìn)行限定流量的生產(chǎn)壓測,壓測的目的是發(fā)現(xiàn)問題,也就意味著可能隨時(shí)出現(xiàn)生產(chǎn)故障,因此還需要有風(fēng)險(xiǎn)熔斷能力。熔斷是基于監(jiān)控?cái)?shù)據(jù)進(jìn)行決策,它會依托大量的監(jiān)控?cái)?shù)據(jù)進(jìn)行實(shí)時(shí)分析。比如,從用戶體驗(yàn)或應(yīng)用系統(tǒng)承受壓力角度進(jìn)行分析。應(yīng)用系統(tǒng)在承受不同的壓力后的資源消耗和執(zhí)行效率大有不同。
只有監(jiān)控分析能力有一定成熟度后,風(fēng)險(xiǎn)熔斷才有好的壓測依據(jù),也就是說生產(chǎn)壓測中我們能夠保障在用戶能感覺到系統(tǒng)異常之前,快速做風(fēng)險(xiǎn)熔斷決策。
4
全鏈路壓測-故障演練能力
生產(chǎn)中存在各種不確定性因素。我們可以通過故障演練或者可靠性測試挖掘這些風(fēng)險(xiǎn)。
故障演練通常和壓測一起進(jìn)行。測試環(huán)境的故障演練測試,通常是在壓力發(fā)起的同時(shí),模擬斷網(wǎng)、數(shù)據(jù)庫停機(jī)、應(yīng)用僵死的現(xiàn)象。還記得早在10年前,測試人員在發(fā)起壓力后由機(jī)房工程師進(jìn)行實(shí)際的異常模擬操作。
而在全鏈路壓測方法中,我們可以將這一能力集成到平臺中,實(shí)現(xiàn)自動模擬某個(gè)接口變慢、流量阻塞等。比如,A系統(tǒng)調(diào)用B系統(tǒng),可以模擬B系統(tǒng)變慢或無響應(yīng)后會不會引發(fā)A系統(tǒng)雪崩現(xiàn)象。

5
全鏈路壓測-性能基線分析能力

在全鏈路壓測方法上我們還可以做一些延伸,可以將不同版本下的性能數(shù)據(jù)形成基線,通過版本性能差異分析挖掘一些累積性問題。比如系統(tǒng)的處理能力隨版本迭代不斷小幅度下降,或系統(tǒng)依賴關(guān)系逐步復(fù)雜后的性能隱患。
舉個(gè)例子:某系統(tǒng)的新增商品業(yè)務(wù)設(shè)計(jì)ABC三個(gè)應(yīng)用,老版本的響應(yīng)時(shí)間是1秒,假設(shè)ABC三個(gè)系統(tǒng)的耗時(shí)都是333毫秒。新版本變更后,A系統(tǒng)的耗時(shí)從333毫秒變成是500毫秒,BC系統(tǒng)分別是250毫秒。從傳統(tǒng)的站在用戶體驗(yàn)的壓測方法角度看,用戶體驗(yàn)似乎無影響。但實(shí)際A系統(tǒng)存在較大性能隱患。
再舉個(gè)例子,某業(yè)務(wù)系統(tǒng)改造前單筆業(yè)務(wù)調(diào)用redis2次,改造后調(diào)用10次,由于單次redis調(diào)用耗時(shí)非常低,對整體的業(yè)務(wù)響應(yīng)時(shí)間影響不大,但在生產(chǎn)業(yè)務(wù)量大的場景下可能會出現(xiàn)redis容量瓶頸。因?yàn)橥ǔedis集群為公共設(shè)施,會服務(wù)于多個(gè)業(yè)務(wù)系統(tǒng),從而引發(fā)嚴(yán)重生產(chǎn)故障,類似的情況早期在企業(yè)當(dāng)中很常見。
因此,業(yè)務(wù)系統(tǒng)的性能和容量基線跟蹤和差異分析能力能夠有效揭示穩(wěn)定性風(fēng)險(xiǎn)。
6
形成全鏈路壓測能力體系

上面我們更多在介紹全鏈路壓測的各項(xiàng)能力,在能力的基礎(chǔ)上,我們可以打通整個(gè)持續(xù)集成,將全鏈路壓測方法變成可持續(xù)的能力,降低版本變更后的持續(xù)回歸成本。
7
左右賦能,為IT系統(tǒng)穩(wěn)定性護(hù)航
?

可持續(xù)的全鏈路壓測能力體系向左可以賦能給研發(fā),在開發(fā)過程當(dāng)中,研發(fā)人員可以自助評測性能,這樣既可以減少開發(fā)過程中不斷調(diào)優(yōu)后對測試角色的依賴,提升整體效率,研發(fā)人員還可以通過評測規(guī)范和能力提升性能意識。
同時(shí),整套能力向右可以賦能于運(yùn)維,運(yùn)維人員可以利用全鏈路壓測能力進(jìn)行促銷活動路演,識別活動下IT系統(tǒng)的整體性能和容量,以及結(jié)合故障模擬、變更演練來驗(yàn)證系統(tǒng)的健壯性。
(一)?夯實(shí)底盤,不斷完善能力體系
?
結(jié)合于行業(yè)性能測試體系的現(xiàn)狀分析,我們將其劃分為為自測型、驅(qū)動型、規(guī)范型、敏捷型、賦能型五個(gè)階段的成熟度。目前,較多企業(yè)處于驅(qū)動型和規(guī)范型階段,部分中小型企業(yè)可能處在自測型階段。

自測型,無性能測試團(tuán)隊(duì),開發(fā)自行測試后上線。
驅(qū)動型,有性能測試團(tuán)隊(duì),項(xiàng)目或需求驅(qū)動測試。
規(guī)范型,統(tǒng)一性能測試規(guī)范和標(biāo)準(zhǔn),變被動為主動。
敏捷型,性能評測能力體系化、平臺化,把能力賦予開發(fā)人員自測,高效協(xié)作。
賦能型,形成一套完整的性能評測的體系,并賦能研發(fā)和運(yùn)維。
所以夯實(shí)底盤,不斷完善能力體系是至關(guān)重要的。
(二)?保障活動,讓不確定性“轉(zhuǎn)”確定
全鏈路壓測能力在阿里以及一些一線互聯(lián)網(wǎng)企業(yè),已成為促銷活動性能容量保障的神器,活動前演練設(shè)定的防線保障確定性業(yè)務(wù)場景穩(wěn)定,活動前演練設(shè)定的預(yù)案保障不確定性業(yè)務(wù)場景的穩(wěn)定。
(三)?抓住機(jī)會,在不確定性中獲“益”
受疫情的影響,很多企業(yè)業(yè)務(wù)模式由線下轉(zhuǎn)線上,造成線上流量劇增。比如在線教育、醫(yī)療健康、協(xié)同辦公、視頻會議、金融領(lǐng)域都有這一變化。所以提升整個(gè)系統(tǒng)的反脆弱能力,可應(yīng)對未來的不確定性,并在不確定性中獲”益”。
