[翻譯]混沌工程的原則

本文已存放在 https://github.com/wizardbyron/principlesofchaos_zh-cn 上莱坎,歡迎來 PR

混沌工程是在分布式系統(tǒng)上進行實驗的學(xué)科, 目的是建立對系統(tǒng)抵御生產(chǎn)環(huán)境中失控條件的能力以及信心队询。

大規(guī)模分布式軟件系統(tǒng)的發(fā)展正在改變軟件工程。作為一個行業(yè)涛碑,我們很快采用了提高開發(fā)靈活性和部署速度的實踐朴爬。緊跟著這些好處的一個緊迫問題是:我們對投入生產(chǎn)的復(fù)雜系統(tǒng)中有多少信心丰歌?

即使分布式系統(tǒng)中的所有單個服務(wù)都正常運行, 這些服務(wù)之間的交互也會導(dǎo)致不可預(yù)知的結(jié)果荒澡。 這些不可預(yù)知的結(jié)果, 由影響生產(chǎn)環(huán)境的罕見但破壞性的真實事件復(fù)合而成报辱,令這些分布式系統(tǒng)存在內(nèi)在的混沌。

我們需要在異常行為出現(xiàn)之前单山,在整個系統(tǒng)的范圍內(nèi)找出這些弱點碍现。 系統(tǒng)弱點包括以下形式: 當(dāng)服務(wù)不可用時的不正確回退設(shè)置;不當(dāng)?shù)某瑫r設(shè)置導(dǎo)致的重試風(fēng)暴;由于下游依賴項流量過載導(dǎo)致的服務(wù)中斷;單點故障時的級聯(lián)失敗等。我們必須主動的發(fā)現(xiàn)這些重要的弱點米奸,在這些弱點通過生產(chǎn)環(huán)境暴露給我們的客戶之前昼接。我們需要一種方法來管理這些系統(tǒng)固有的混沌, 通過增加的靈活性和速率以提升我們對生產(chǎn)環(huán)境部署的信心,? 盡管系統(tǒng)的復(fù)雜性是由這些部署所導(dǎo)致的。

基于經(jīng)驗和系統(tǒng)的方法解決了分布式系統(tǒng)在規(guī)模增大時引發(fā)的混亂問題, 并以此建立了對這些系統(tǒng)抵御現(xiàn)實條件的能力的信心悴晰。 我們通過在受控實驗中觀察分布式系統(tǒng)的行為來了解它的特性慢睡。 我們稱之為混沌工程。

混沌工程實踐

為了具體地解決分布式系統(tǒng)在規(guī)模上的不確定性铡溪,可以把混沌工程看作是為了揭示系統(tǒng)弱點而進行的實驗一睁。這些實驗遵循四個步驟:

首先,用系統(tǒng)在正常行為下的一些可測量的輸出來定義“穩(wěn)態(tài)”佃却。

假設(shè)這個穩(wěn)定狀態(tài)在控制組和實驗組都會繼續(xù)存在。

引入反映真實世界事件的變量窘俺,如服務(wù)器崩潰饲帅、硬盤故障复凳、網(wǎng)絡(luò)連接斷開等。

試圖通過假設(shè)控制組和實驗組之間的穩(wěn)態(tài)差異來反駁這個假設(shè)灶泵。

破壞穩(wěn)態(tài)的難度越大育八,我們對系統(tǒng)行為的信心就越強。如果發(fā)現(xiàn)了一個弱點赦邻,那么我們就有了一個改進目標髓棋。避免在系統(tǒng)規(guī)模化之后被放大惶洲。

高級原則

以下原則描述了應(yīng)用混沌工程的理想方式按声,這些原則基于上述實驗過程。 對這些原則的匹配程度能夠增強我們在大規(guī)模分布式系統(tǒng)的信心恬吕。

建立一個圍繞穩(wěn)定狀態(tài)行為的假說

要關(guān)注系統(tǒng)的可測量輸出, 而不是系統(tǒng)的屬性签则。 對這些輸出在短時間內(nèi)的度量構(gòu)成了系統(tǒng)穩(wěn)定狀態(tài)的一個代理。 整個系統(tǒng)的吞吐量铐料、錯誤率渐裂、延遲百分點等都可能是表示穩(wěn)態(tài)行為的指標。 通過在實驗中的系統(tǒng)性行為模式上的關(guān)注, 混沌工程驗證了系統(tǒng)是否正常工作, 而不是試圖驗證它是如何工作的钠惩。

多樣化真實世界的事件

混沌變量反映了現(xiàn)實世界中的事件柒凉。 我們可以通過潛在影響或估計頻率排定這些事件的優(yōu)先級。 考慮與硬件故障類似的事件, 如服務(wù)器宕機篓跛、軟件故障 (如錯誤響應(yīng)) 和非故障事件 (如流量激增或縮放事件)膝捞。 任何能夠破壞穩(wěn)態(tài)的事件都是混沌實驗中的一個潛在變量。

在生產(chǎn)環(huán)境中運行實驗

系統(tǒng)的行為會依據(jù)環(huán)境和流量模式都會有所不同举塔。 由于資源使用率變化的隨時可能發(fā)生, 因此通過采集實際流量是捕獲請求路徑的唯一可靠方法绑警。 為了保證系統(tǒng)執(zhí)行方式的真實性與當(dāng)前部署系統(tǒng)的相關(guān)性, 混沌工程強烈推薦直接采用生產(chǎn)環(huán)境流量進行實驗。

持續(xù)自動化運行實驗

手動運行實驗是勞動密集型的, 最終是不可持續(xù)的央渣,所以我們要把實驗自動化并持續(xù)運行计盒。 混沌工程要在系統(tǒng)中構(gòu)建自動化的編排和分析。

最小化爆炸半徑

在生產(chǎn)中進行試驗可能會造成不必要的客戶投訴芽丹。雖然對一些短期負面影響必須有一個補償, 但混沌工程師的責(zé)任和義務(wù)是確保這些后續(xù)影響最小化且被考慮到北启。

混沌工程是一個強大的實踐, 它已經(jīng)在世界上一些規(guī)模最大的業(yè)務(wù)系統(tǒng)上改變了軟件是如何設(shè)計和工程化的。 相較于其他方法解決了速度和靈活性, 混沌工程專門處理這些分布式系統(tǒng)中的系統(tǒng)不確定性拔第。 混沌工程的原則為我們大規(guī)模的創(chuàng)新和給予客戶他們應(yīng)得的高質(zhì)量的體驗提供了信心咕村。

歡迎加入混沌社區(qū)的 Google 討論組和我們一起討論這些原則的應(yīng)用。

本文翻譯自 http://principlesofchaos.org/

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
禁止轉(zhuǎn)載蚊俺,如需轉(zhuǎn)載請通過簡信或評論聯(lián)系作者懈涛。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市泳猬,隨后出現(xiàn)的幾起案子批钠,更是在濱河造成了極大的恐慌宇植,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,820評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件埋心,死亡現(xiàn)場離奇詭異指郁,居然都是意外死亡,警方通過查閱死者的電腦和手機拷呆,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,648評論 3 399
  • 文/潘曉璐 我一進店門闲坎,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人茬斧,你說我怎么就攤上這事腰懂。” “怎么了啥供?”我有些...
    開封第一講書人閱讀 168,324評論 0 360
  • 文/不壞的土叔 我叫張陵悯恍,是天一觀的道長。 經(jīng)常有香客問我伙狐,道長涮毫,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,714評論 1 297
  • 正文 為了忘掉前任贷屎,我火速辦了婚禮罢防,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘唉侄。我一直安慰自己咒吐,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 68,724評論 6 397
  • 文/花漫 我一把揭開白布属划。 她就那樣靜靜地躺著恬叹,像睡著了一般。 火紅的嫁衣襯著肌膚如雪同眯。 梳的紋絲不亂的頭發(fā)上绽昼,一...
    開封第一講書人閱讀 52,328評論 1 310
  • 那天,我揣著相機與錄音须蜗,去河邊找鬼硅确。 笑死,一個胖子當(dāng)著我的面吹牛明肮,可吹牛的內(nèi)容都是我干的菱农。 我是一名探鬼主播,決...
    沈念sama閱讀 40,897評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼柿估,長吁一口氣:“原來是場噩夢啊……” “哼循未!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起秫舌,我...
    開封第一講書人閱讀 39,804評論 0 276
  • 序言:老撾萬榮一對情侶失蹤只厘,失蹤者是張志新(化名)和其女友劉穎烙丛,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體羔味,經(jīng)...
    沈念sama閱讀 46,345評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,431評論 3 340
  • 正文 我和宋清朗相戀三年钠右,在試婚紗的時候發(fā)現(xiàn)自己被綠了赋元。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,561評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡飒房,死狀恐怖搁凸,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情狠毯,我是刑警寧澤护糖,帶...
    沈念sama閱讀 36,238評論 5 350
  • 正文 年R本政府宣布,位于F島的核電站嚼松,受9級特大地震影響嫡良,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜献酗,卻給世界環(huán)境...
    茶點故事閱讀 41,928評論 3 334
  • 文/蒙蒙 一寝受、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧罕偎,春花似錦很澄、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,417評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至俏站,卻和暖如春讯蒲,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背乾翔。 一陣腳步聲響...
    開封第一講書人閱讀 33,528評論 1 272
  • 我被黑心中介騙來泰國打工爱葵, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人反浓。 一個月前我還...
    沈念sama閱讀 48,983評論 3 376
  • 正文 我出身青樓萌丈,卻偏偏與公主長得像,于是被迫代替她去往敵國和親雷则。 傳聞我的和親對象是個殘疾皇子辆雾,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,573評論 2 359