今天電腦培訓/我們來看看服務器運行過程中出現的問題的解決方法。
隨著微服務和分布式雲架構的興起,Web變得越來越復雜,“隨機”故障變得越來越難以預測,而我們對這些系統的依賴也越來越大。
這些故障給公司造成了很大的損失,給用戶帶來了很大的困擾,影響了他們的網購、交易或中斷工作。
即使是壹些簡單的故障也會觸及公司的底線,所以停機時間成為了很多工程團隊的KPI。
在2017年,98%的企業表示壹個小時的停機時間會給他們帶來超過65438+百萬美元的損失。
服務中斷可能會給公司帶來數百萬美元的損失。
近日,英國航空公司首席執行官透露,2017年5月發生技術故障,導致數千名乘客滯留機場,給公司造成8000萬英鎊的損失。
企業需要想辦法解決這些問題,因為等到下壹次事故發生就太晚了。
於是,混沌工程應運而生。
混沌工程旨在將故障扼殺在萌芽狀態,即在它們造成中斷之前識別它們。
通過主動制造故障,我們可以測試系統在各種壓力下的行為,識別並修復故障問題,避免嚴重後果。
混沌工程將預期的和實際發生的進行比較,通過“有意識的破壞”來提高系統的靈活性。
混沌工程簡史混沌工程最早出現在互聯網巨頭公司。這些公司有大規模的分布式系統。因為這些系統太復雜了,他們需要壹些新的手段來測試它們。
2010,NetflixEngTools的團隊開發了ChaosMonkey。
當時,網飛從物理基礎設施遷移到AWS。為了確保AWS實例的故障不會影響網飛的用戶體驗,他們開發了這個工具來測試系統。
SimianArmy誕生於2011,在ChaosMonkey的基礎上增加了故障註入模式,可以測試更多的故障場景。
網飛認為,雲的特點是冗余和容錯,但沒有壹個組件能保證100%的可用性,所以他們必須設計壹個雲架構,在這個架構中,單個組件的故障不會影響整個系統。
網飛於2012在GitHub上開放了ChaosMonkey,聲稱他們“已經找到了解決重大意外故障的方法。
通過不斷制造故障,我們的服務變得更加靈活。
在2014,網飛團隊創造了壹個新的角色叫做混沌工程師。
BruceWong發明了這個角色,DanWoods在Twitter上將其推廣到工程社區。
DanWoods解釋道,“我從KoltonAndrus那裏學到了更多關於混沌工程的知識,他稱之為故障註入測試”。
2014 10當Gremlin的聯合創始人KoltonAndrus還在網飛的時候,他們就在SimianArmy的基礎上提出了故障註入測試(FIT)的概念,讓開發者可以更靈活地控制註入故障的“致命範圍”。
由於SimianArmy有時會導致非常嚴重的故障,網飛開發者對此心存疑慮,而FIT可以更好地控制故障的粒度,因此他們提出了混沌工程的概念。