自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

五分鐘技術(shù)趣談 | 關(guān)于混沌工程,你了解多少

企業(yè)動態(tài)
混沌工程(Chaos Engineering)不是一個新概念,從Netflix的工程師創(chuàng)建混沌猴子開始,已經(jīng)默默發(fā)展了數(shù)年,隨著近年云原生的興起,混沌工程開始頻繁地出現(xiàn)在我們面前。作為一種提高技術(shù)架構(gòu)彈性能力的復(fù)雜技術(shù)手段,混沌工程在分布式系統(tǒng)上進(jìn)行隨機的故障注入實驗,和云原生規(guī)模宏大、結(jié)構(gòu)復(fù)雜、可靠性要求高的特點完美匹配,為云原生的發(fā)展提供較強助力。

Labs 導(dǎo)讀

混沌工程(Chaos Engineering)不是一個新概念,從Netflix的工程師創(chuàng)建混沌猴子開始,已經(jīng)默默發(fā)展了數(shù)年,隨著近年云原生的興起,混沌工程開始頻繁地出現(xiàn)在我們面前。作為一種提高技術(shù)架構(gòu)彈性能力的復(fù)雜技術(shù)手段,混沌工程在分布式系統(tǒng)上進(jìn)行隨機的故障注入實驗,和云原生規(guī)模宏大、結(jié)構(gòu)復(fù)雜、可靠性要求高的特點完美匹配,為云原生的發(fā)展提供較強助力。

[[424743]]

 

“今年要搞云原生,混沌工程也要考慮了。”“聽說某某公司建了個混沌工程平臺呢。”“我最近也在研究混沌工程。”

最近是不是經(jīng)常聽到這樣的對話?

混沌工程到底是什么?

為什么要實施混沌工程?

怎么實施?

如果你還不太了解

那就聽我給你介紹一下吧

Part 01 什么是混沌工程

有一只猴子,非常調(diào)皮,上躥下跳地到處搞破壞,不知道什么時候就把系統(tǒng)內(nèi)哪臺服務(wù)給搞掛了,可是IT人們不僅不想辦法消滅它,還非常歡迎它,甚至任由它的隊伍發(fā)展壯大,成立了“猴子軍團”!是不是特別匪夷所思?其實,這就是混沌工程的始祖,由Netflix公司開發(fā)的Chaos Monkey,讓我們來了解一下吧。

根據(jù)這只猴子的特性,想必大家也能猜個幾分了,在系統(tǒng)內(nèi)隨機搞破壞,制造一些正常手段難以設(shè)計的故障,驗證系統(tǒng)的恢復(fù)能力,提高系統(tǒng)的可靠性,如果給個定義的話,混沌工程就是一種提高技術(shù)架構(gòu)彈性能力的復(fù)雜技術(shù)手段。是不是感覺跟我們常說的“故障注入”有點像呢?沒錯,“故障注入”是混沌工程最重要的組成部分,“故障演練”和混沌工程確實有一部分重疊,只是混沌工程的內(nèi)涵更豐富,有自己的通用準(zhǔn)則,在實施層面上看,混沌工程更像是一種實驗,并不預(yù)設(shè)實驗結(jié)果。

Part 02 為什么要實施混沌工程

按照目前云原生時代流行的持續(xù)測試的理念,測試人員在軟件生命周期的需求分析階段就介入了,更有自動化測試、測試左移/后移等手段的保駕護(hù)航,難道還會有發(fā)現(xiàn)不了的bug?還需要引入混沌工程?答案是肯定的。因為目前的測試手段都是基于制定好的測試用例來執(zhí)行測試,測試結(jié)果是有預(yù)期的,對于復(fù)雜的系統(tǒng),尤其是動輒成千上萬臺服務(wù)器的云環(huán)境,我們很難預(yù)計到系統(tǒng)內(nèi)會發(fā)生什么故障,更無法預(yù)期發(fā)生一個小小的故障對整個系統(tǒng)會產(chǎn)生多大的影響?;煦绻こ叹褪菫榱私鉀Q這個問題而產(chǎn)生的,盡可能產(chǎn)生隨機故障,監(jiān)控系統(tǒng)的表現(xiàn),為加固系統(tǒng)提供參考和建議,這樣就能不斷提高系統(tǒng)的健壯性。

Part 03 怎么實施混沌工程

作為混沌工程的基礎(chǔ),肯定要先了解下故障注入,其實業(yè)界已經(jīng)有了相對通用的按照等級劃分的故障畫像了。

有了故障畫像,混沌工程的實施就有了基礎(chǔ),Netflix也給出了混沌工程的實施步驟以及設(shè)計原則,經(jīng)過多年的發(fā)展,阿里巴巴、亞馬遜等巨頭公司都有了自己的混沌工程平臺,同時開源了很多故障注入工具,站在巨人的肩膀上,我們再來實施混沌工程就容易了很多。

目前比較受歡迎的開源工具見下表,大部分的工具是在chaos monkey的基礎(chǔ)上衍生出來的:

我們研究了部分開源工具,并在項目上進(jìn)行了實踐。不管是在虛擬機環(huán)境還是容器環(huán)境,這些工具的使用都非常簡單,覆蓋的故障場景也相對比較全面,從底層服務(wù)器級別,到代碼的方法級別,常規(guī)的故障都可以模擬。當(dāng)然了,目前支持的故障場景比較簡單,很多常用的中間件也暫不支持,留給我們很大的二次開發(fā)空間。

這些開源工具存在的通用問題整理如下:

  • 功能分散、單薄。每種工具在功能上都有局限性,只具備模擬部分故障的能力;
  • 重點都在故障注入,在混沌工程的其他設(shè)計原則方面比較欠缺。不能自動化執(zhí)行,沒有可視化管理界面,對實驗的爆炸半徑控制不夠等。

那什么樣的才是完整的混沌工程平臺呢?除了故障類型的支持,權(quán)限管理、資源管理、演練推薦、流程編排等 都是一個成熟的混沌工程平臺的必要組成部分,甚至可以提供攻防演練等上層能力。所以說,搭建一個成熟的混沌工程平臺不是一件容易的事情。

Part 04 總結(jié)

混沌工程發(fā)展了這么多年,前人已經(jīng)在故障畫像、故障注入工具、混沌工程平臺搭建思路等方面打好了堅實的基礎(chǔ),進(jìn)而推動混沌工程技術(shù)持續(xù)進(jìn)步與完善,隨著云原生技術(shù)的發(fā)展,混沌工程的價值也將更加顯現(xiàn)。

【本文為51CTO專欄作者“移動Labs”原創(chuàng)稿件,轉(zhuǎn)載請聯(lián)系原作者】

戳這里,看該作者更多好文

責(zé)任編輯:未麗燕 來源: 移動Labs
相關(guān)推薦

2023-07-02 16:09:57

人工智能人臉識別

2023-07-02 16:43:24

云桌面云計算

2023-07-23 18:47:59

Docker開源

2023-07-16 18:49:42

HTTP網(wǎng)絡(luò)

2023-04-15 20:25:23

微前端

2023-07-02 16:34:06

GPU虛擬化深度學(xué)習(xí)

2023-09-12 07:10:13

Nacos架構(gòu)

2023-07-23 08:35:13

Web網(wǎng)絡(luò)

2023-07-31 08:55:15

AI技術(shù)網(wǎng)絡(luò)暴力

2023-07-12 15:50:29

機器學(xué)習(xí)人工智能

2023-08-29 06:50:01

Javamaven

2024-12-18 14:10:33

2023-08-06 07:00:59

Openstack網(wǎng)絡(luò)

2023-08-15 14:46:03

2023-09-17 17:51:43

Android 14

2023-07-12 16:03:37

Android開發(fā)架構(gòu)

2023-08-06 06:55:29

數(shù)字可視化物聯(lián)網(wǎng)

2023-09-02 20:22:42

自動化測試軟件開發(fā)

2023-08-07 06:35:07

系統(tǒng)限流

2023-07-12 16:13:01

點贊
收藏

51CTO技術(shù)棧公眾號