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

軟件架構(gòu)治理與混沌工程

開發(fā) 架構(gòu)
回到軟件架構(gòu)治理的話題上,既然混沌工程可以幫助架構(gòu)師以及開發(fā)團(tuán)隊(duì)更好地理解系統(tǒng),發(fā)現(xiàn)系統(tǒng)的弱點(diǎn)。

在文章《 ??軟件架構(gòu)治理 之 架構(gòu)混沌之謎 ??》中我把軟件架構(gòu)比作一個(gè)房子,需求總是無法預(yù)測的,特別是在當(dāng)前信息量巨大,網(wǎng)絡(luò)非常發(fā)達(dá)的時(shí)代。只要對(duì)這個(gè)房子的使用場景做個(gè)簡單的重新定義或補(bǔ)充定義,它就有了非常多的可能性,比如每個(gè)房間都需要接入網(wǎng)絡(luò),比如有一個(gè)房間要做成暗房用來沖洗照片,再比如有一個(gè)房間要用來擺放玩具,等等。腦洞再大些,如果未來無人機(jī)送快遞到家普及了,假設(shè)每個(gè)房子都要有一塊接收快遞的地方,這對(duì)于上個(gè)世紀(jì)建造的房子來說,大概率需要做大規(guī)模的擴(kuò)展。

軟件架構(gòu)治理也是一樣,既需要解決現(xiàn)在的問題,也要為未來的擴(kuò)展留有可能性。軟件架構(gòu)治理并不是一項(xiàng)單純的技術(shù)工作,治理工作需要考慮到現(xiàn)在的問題,也需要考慮到未來的業(yè)務(wù)發(fā)展,單純的從技術(shù)角度來思考軟件的架構(gòu)治理無疑是在雪上加霜。即便是倡導(dǎo)技術(shù)驅(qū)動(dòng)的公司,本質(zhì)上也是通過創(chuàng)新技術(shù)創(chuàng)造了新的業(yè)務(wù),改變了人們的生活方式,從而用技術(shù)改變了世界。只有找到真實(shí)的業(yè)務(wù)價(jià)值,才能把技術(shù)的價(jià)值發(fā)揮到最大,因此 軟件架構(gòu)治理一定是問題或價(jià)值驅(qū)動(dòng)的 。

架構(gòu)師在實(shí)際做架構(gòu)治理的過程中,一個(gè)難點(diǎn)是當(dāng)系統(tǒng)復(fù)雜度高到超出個(gè)體認(rèn)知上限時(shí),就很難看清系統(tǒng)問題全貌,只能從已知問題入手。然而,已知問題往往只是冰山一角,隨著系統(tǒng)復(fù)雜度上升,很多隨機(jī)的、不可預(yù)測的問題經(jīng)常發(fā)生,這種問題有些是很難重現(xiàn)的,每次表現(xiàn)也不完全一樣,在這種場景下,如何能有效發(fā)現(xiàn)系統(tǒng)根本的脆弱點(diǎn),防患于未然,就是一個(gè)很大的挑戰(zhàn)。

混沌工程

為了解決軟件系統(tǒng)復(fù)雜后的穩(wěn)定性問題,近幾年,混沌工程作為一種以實(shí)驗(yàn)來提升軟件系統(tǒng)韌性的學(xué)科,開始逐漸在眾多大企業(yè)中開始實(shí)踐起來?;煦绻こ痰母拍钣蓙硪丫茫瑸槭裁醋罱鼛啄瓴疟淮蠹以絹碓蕉嗟靥峒?,才開始變得流行呢?我覺得原因有以下幾個(gè):

  • 開源工具的發(fā)展和完善,讓大家應(yīng)用混沌工程實(shí)驗(yàn)的成本降低。
  • 最近幾年因?yàn)榛ヂ?lián)網(wǎng)業(yè)務(wù)的發(fā)展,微服務(wù)架構(gòu)等技術(shù)的流行,軟件系統(tǒng)的復(fù)雜度在不斷提升,已遠(yuǎn)遠(yuǎn)超出人類能夠記憶和認(rèn)知的范圍,定位問題成本越來越高,而混沌工程通過實(shí)驗(yàn)的方式能夠快速幫助架構(gòu)師找到架構(gòu)上的問題。
  • 提升了研發(fā)團(tuán)隊(duì)對(duì)軟件系統(tǒng)的理解,道長在他的文章《混沌工程賦能:規(guī)?;貞?yīng)對(duì)上云后的未知暗債》中提出混沌工程是一種賦能活動(dòng),可以幫助開發(fā)團(tuán)隊(duì)理解復(fù)雜系統(tǒng)是如何運(yùn)行和如何失效的。

那么混沌工程到底是怎樣一種實(shí)驗(yàn)?是不是我們把各種猴子扔到生產(chǎn)環(huán)境中,讓它們隨機(jī)的搞一些破壞,看哪里出問題就修哪里?答案顯然是否定的,試想如果隨便扔幾只搞破壞的猴子在生產(chǎn)環(huán)境,不可預(yù)知到底會(huì)發(fā)生什么問題,這無疑是一種自殺式的實(shí)驗(yàn),任誰也不會(huì)放心大膽地去進(jìn)行這樣一種實(shí)驗(yàn)。

混沌工程實(shí)驗(yàn)并不是盲目的,也不是試探性的,它一定是有目的的,可控的一種實(shí)驗(yàn)。在混沌工程原則的網(wǎng)站上,定義了應(yīng)用混沌工程的幾個(gè)高級(jí)原則:

  1. 建立一個(gè)圍繞穩(wěn)定狀態(tài)行為的假說
  2. 多樣化真實(shí)世界的事件
  3. 在生產(chǎn)環(huán)境中運(yùn)行實(shí)驗(yàn)
  4. 持續(xù)自動(dòng)化運(yùn)行實(shí)驗(yàn)
  5. 最小化爆炸半徑

在第1個(gè)原則中,首先要定義一種可測量的穩(wěn)定狀態(tài),并依據(jù)團(tuán)隊(duì)對(duì)系統(tǒng)的理解,定義一個(gè)假說:在某種故障發(fā)生時(shí),系統(tǒng)依然能保持這種穩(wěn)定狀態(tài)。這里的關(guān)鍵點(diǎn)在于穩(wěn)態(tài)假說,如果已經(jīng)確定當(dāng)故障發(fā)生時(shí),系統(tǒng)一定無法保持穩(wěn)態(tài),那就沒有必要進(jìn)行實(shí)驗(yàn)了,而需要針對(duì)當(dāng)前的問題去想對(duì)策。

接下來的4個(gè)原則描述了如何具體實(shí)施混沌工程實(shí)驗(yàn):

  • 要模擬真實(shí)的事件,以確保實(shí)驗(yàn)結(jié)果的可靠性
  • 要盡量在生產(chǎn)環(huán)境中實(shí)驗(yàn),以避免不同環(huán)境的差異(數(shù)據(jù)量,數(shù)據(jù)多樣性,網(wǎng)絡(luò)環(huán)境,并發(fā)請(qǐng)求數(shù)量等等)產(chǎn)生的影響
  • 要把實(shí)驗(yàn)過程自動(dòng)化并持續(xù)執(zhí)行,自動(dòng)化以降低每次執(zhí)行的成本,持續(xù)運(yùn)行以便能夠在有問題時(shí)及時(shí)發(fā)現(xiàn)
  • 要做到最小化爆炸半徑,確保每次實(shí)驗(yàn)的影響范圍都是可控的,而且是最小的

在軟件架構(gòu)治理中應(yīng)用混沌工程

回到軟件架構(gòu)治理的話題上,既然混沌工程可以幫助架構(gòu)師以及開發(fā)團(tuán)隊(duì)更好地理解系統(tǒng),發(fā)現(xiàn)系統(tǒng)的弱點(diǎn),那么應(yīng)該如何應(yīng)用混沌工程,提高研發(fā)團(tuán)隊(duì)對(duì)架構(gòu)的掌控力,找到架構(gòu)設(shè)計(jì)的問題,并加以治理?

首先 , 要對(duì)軟件系統(tǒng)進(jìn)行一次整體的盤點(diǎn):有哪些組件(比如微服務(wù)、數(shù)據(jù)庫、緩存等),運(yùn)行環(huán)境如何(網(wǎng)絡(luò),VM/主機(jī),存儲(chǔ)等),三方依賴等等。

其次, 針對(duì)系統(tǒng)中的這些組件,進(jìn)行優(yōu)先級(jí)的排序,通常可以按下面的方式定義優(yōu)先級(jí):

  1. 基礎(chǔ)設(shè)施環(huán)境相關(guān),基礎(chǔ)設(shè)施出問題,往往都是大問題
  2. 三方集成系統(tǒng)相關(guān),集成系統(tǒng)不可控,一旦出問題,處理不好影響非常大
  3. 自研的各個(gè)組件,自研組件受控性最強(qiáng),往往問題發(fā)生后修復(fù)起來更快

基于以上的優(yōu)先級(jí),可以再根據(jù)業(yè)務(wù)的影響范圍,在每個(gè)層級(jí)里進(jìn)行進(jìn)一步的優(yōu)先級(jí)定義。

最后 ,根據(jù)上面定義好的優(yōu)先級(jí),逐一定義穩(wěn)定狀態(tài)假說,并判斷是否需要進(jìn)行混沌工程實(shí)驗(yàn),如果有必要,需要設(shè)計(jì)完整的實(shí)驗(yàn)過程和恢復(fù)方案,控制好實(shí)施范圍,如果前期信心不足,可以先在非生產(chǎn)環(huán)境嘗試,等信心足夠時(shí),再放到生產(chǎn)環(huán)境自動(dòng)執(zhí)行。

責(zé)任編輯:張燕妮 來源: 麻廣廣
相關(guān)推薦

2021-11-08 10:45:26

架構(gòu)軟件技術(shù)

2022-06-23 09:47:50

混沌工程系統(tǒng)Kubernetes

2023-04-21 13:15:01

2022-08-02 09:42:48

混沌工程系統(tǒng)群

2022-06-02 14:39:11

混沌工程實(shí)驗(yàn)微服務(wù)

2025-02-18 08:11:17

2021-06-22 06:16:24

Linkerd books webapp

2019-02-01 10:03:57

混沌工程分布式系統(tǒng)故障

2020-02-27 08:00:41

混沌工程系統(tǒng)失控條件

2024-04-30 08:05:53

2022-08-03 09:48:48

敏捷交付框架

2020-06-05 12:01:11

軟件工程C++Python

2023-09-05 15:00:04

微服務(wù)架構(gòu)

2022-07-29 15:46:19

測試混沌工程

2020-03-06 05:42:47

大數(shù)據(jù)隊(duì)架構(gòu)工作指標(biāo)

2022-10-19 15:34:11

架構(gòu)軟件安全

2017-12-11 10:24:08

ERP治理軟件

2022-01-20 09:00:00

架構(gòu)IT企業(yè)

2023-08-21 08:31:40

LinuxNFSD架構(gòu)

2018-11-07 10:00:00

微服務(wù)Service MesIstio
點(diǎn)贊
收藏

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