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

終于有人把 "高可用" 說(shuō)清楚了!

開(kāi)發(fā) 架構(gòu) 開(kāi)發(fā)工具
我是樂(lè)羊,一個(gè)熱愛(ài)風(fēng)險(xiǎn)防控的人,之前參與過(guò)螞蟻 Glocal 多個(gè)站點(diǎn)從 0 到 1 的建站和高可用建設(shè),目前正在參與螞蟻大安全的高可用建設(shè)。

 [[383494]] 

圖片來(lái)自 Pexels

無(wú)論是一個(gè)域,一個(gè) BG,還是一個(gè)站點(diǎn),雖然范圍有大有小,對(duì)象有所不同,但其高可用的理念都是相通的,今天將自己對(duì)高可用的一點(diǎn)點(diǎn)思考以及總結(jié)的“nPRT 公式”分享給大家。

本文采用“高可用是什么,為什么要高可用,怎么做高可用,為什么這么做,軟件風(fēng)險(xiǎn)又在哪里”的邏輯來(lái)介紹。

高可用是一種控制風(fēng)險(xiǎn)的能力

高可用是一種面向風(fēng)險(xiǎn)設(shè)計(jì),使系統(tǒng)具備控制風(fēng)險(xiǎn),提供更高的可用性的能力。

為什么要高可用

對(duì)于一個(gè)公司而言,“為什么要高可用”可以完整理解為“公司為什么要(做系統(tǒng))高可用”。

以公司為對(duì)象,從內(nèi)看包括:人,軟件(物),硬件(物);從外看包括:客戶,股東,社會(huì);從自身看包括:公司。

 

高可用的大前提,所有事物都不是 100% 可靠的:

  • 所有事物都是變化的(唯一不變的是變化)。
  • 所有變化的都不是 100% 可靠的。
  • 結(jié)論:所有事物都不是 100% 可靠的。

內(nèi)因,人、物都不是 100% 可靠的:

  • 從人的層面:人都是有可能犯錯(cuò)的。
  • 從軟件層面:軟件都是有可能有 Bug 的。
  • 從硬件層面:硬件都是有可能會(huì)壞的。

從概率學(xué)角度分析,凡是有可能會(huì)出錯(cuò)的,只要變化次數(shù)足夠多,最終出錯(cuò)的概率會(huì)無(wú)限趨向于 1。

外因,無(wú)高可用,對(duì)外影響面是很大的:

  • 從客戶角度:無(wú)高可用,客戶服務(wù)可能會(huì)中斷。
  • 從股東層面:無(wú)高可用,股價(jià)可能會(huì)下跌。
  • 從社會(huì)角度:無(wú)高可用,社會(huì)秩序可能受影響。

根因(本質(zhì)):控制風(fēng)險(xiǎn)。

從公司自身角度:控制風(fēng)險(xiǎn),保障公司價(jià)值,避免傷及根本。

如何做高可用

如何做高可用,本質(zhì)上就是:如何控制風(fēng)險(xiǎn)。

風(fēng)險(xiǎn)相關(guān)概念

風(fēng)險(xiǎn):指未來(lái)會(huì)發(fā)生危害的一種可能性,但實(shí)際未發(fā)生,記為r。

故障:指已發(fā)生或正在發(fā)生危害的一種事實(shí),是風(fēng)險(xiǎn)變現(xiàn)實(shí)的結(jié)果。

風(fēng)險(xiǎn)概率:指一個(gè)風(fēng)險(xiǎn)變故障的概率。用它來(lái)表示風(fēng)險(xiǎn)觸發(fā)為故障的難易程度,記為 P(r)。

故障影響范圍:指在單位時(shí)間內(nèi),一個(gè)故障造成的危害影響,記為 R(r)。

故障影響時(shí)長(zhǎng):指一個(gè)故障持續(xù)的時(shí)間,記為 T(r)。

故障影響面:指一個(gè)故障影響范圍乘以故障影響時(shí)長(zhǎng)的總和。這里用故障影響面來(lái)表示故障總的危害程度,記為 F(r)。

風(fēng)險(xiǎn)期望:指每個(gè)風(fēng)險(xiǎn)變故障的概率乘以每個(gè)風(fēng)險(xiǎn)變故障后的故障影響面的總和。這里用風(fēng)險(xiǎn)期望來(lái)表示風(fēng)險(xiǎn)的潛在危害程度,記為 E(r)。

風(fēng)險(xiǎn)期望的公式

根據(jù)上節(jié)的定義,可以推導(dǎo)出風(fēng)險(xiǎn)期望的公式如下:

 

r 代表風(fēng)險(xiǎn),風(fēng)險(xiǎn)期望會(huì)隨著風(fēng)險(xiǎn)的數(shù)量 n 和每個(gè)風(fēng)險(xiǎn)的 P、R、T 下降而下降,簡(jiǎn)稱 nPRT 公式。(注:如果要引用該公式請(qǐng)注明出處。)

控制風(fēng)險(xiǎn)的 4 大因素(nPRT)

①減少風(fēng)險(xiǎn)數(shù)量,n

從源頭遠(yuǎn)離風(fēng)險(xiǎn),做到與風(fēng)險(xiǎn)載體無(wú)連接,無(wú)關(guān)系;那么該風(fēng)險(xiǎn)概率就是0,也不關(guān)心該風(fēng)險(xiǎn)發(fā)生后的故障影響面是大是小,完全不關(guān)心。

例如:重大節(jié)日活動(dòng),施行全站封網(wǎng),變更的數(shù)量就會(huì)得到一個(gè)明顯的下降,就是典型的減少風(fēng)險(xiǎn)數(shù)量。

例如:系統(tǒng) A 完全不依賴 Oracle,那系統(tǒng) A 就不用關(guān)心 Oracle 的任何風(fēng)險(xiǎn),哪怕美國(guó)總統(tǒng)突然緊急宣布 Oracle 立即立刻禁止在中國(guó)使用,系統(tǒng) A 也無(wú)所謂。

例如:最近新冠大流行,人傳人很可怕,如果你今天選擇不上班不出門(mén),那你今天就不用擔(dān)心被外面的行人和同事傳染。

②降低風(fēng)險(xiǎn)變故障的概率(即:增加風(fēng)險(xiǎn)變故障的難度),P

把風(fēng)險(xiǎn)當(dāng)成一個(gè)對(duì)象看待,給它層層設(shè)卡,增加風(fēng)險(xiǎn)變故障的門(mén)檻和難度,不要再讓“不小心多了一個(gè)空格或字符,系統(tǒng)就掛了”這種慘案輕易出現(xiàn)。

例如:人員 B 要對(duì)系統(tǒng) C 進(jìn)行變更,可以對(duì)人員 B 增加變更認(rèn)證考試,對(duì)變更內(nèi)容要求線下(或仿真)測(cè)試,對(duì)變更內(nèi)容進(jìn)行 CR,系統(tǒng) C 提供變更效果預(yù)覽能力(類(lèi)似監(jiān)控模式或試運(yùn)行)。

萬(wàn)一人員 B 想惡意變更搞破壞,還可以增加非同人復(fù)核,系統(tǒng)C可以增加防錯(cuò)設(shè)計(jì)進(jìn)行保護(hù)等等。

例如:以新冠為例,帶口罩,勤洗手,多通風(fēng)等就可以降低染上新冠的概率。

③減小故障影響范圍,R

以大拆小,將一個(gè)整體拆分成 N 個(gè)小的個(gè)體,每個(gè)個(gè)體之間進(jìn)行相互隔離,單個(gè)個(gè)體出問(wèn)題僅影響單個(gè)個(gè)體,實(shí)現(xiàn)小而美。

例如:分布式架構(gòu)就是這個(gè)的典范,集中式一損俱損,分布式一損即 N 分之一損。

例如:以新冠為例,網(wǎng)格化管理,各省或市間的流動(dòng)進(jìn)行限制,跨省必須核酸+隔離 14 天,有效控制新冠的傳播范圍。

④縮短故障影響時(shí)長(zhǎng),T

故障影響時(shí)長(zhǎng)由故障發(fā)現(xiàn)時(shí)間和故障止血時(shí)間決定,所以要早發(fā)現(xiàn)早止血。

發(fā)現(xiàn)方式分為:事前的預(yù)警,事后的告警。盡可能朝事前預(yù)警去做,給止血爭(zhēng)取時(shí)間甚至將風(fēng)險(xiǎn)扼殺在搖籃中。

止血方式分為:切換,回滾,擴(kuò)容,降級(jí) or 限流,BUG 修復(fù)等。故障出現(xiàn)時(shí)第一優(yōu)先原則為快速止血(如切換、回滾、擴(kuò)容),嚴(yán)禁去定位根因;當(dāng)無(wú)法快速止血時(shí)以少流血為第二優(yōu)先原則,如降級(jí)、限流。

止血效率:自動(dòng) vs 人工 ;一鍵化 vs 多步操作。盡可能用自動(dòng)化去代替人工操作,若人工操作時(shí)盡量實(shí)現(xiàn)一鍵化,提升止血速度。

例如:對(duì)于容量水位,可以在警戒線之前劃一條預(yù)警線,提前預(yù)警,從容應(yīng)對(duì)。

例如:分布式應(yīng)用集群,任何一臺(tái)應(yīng)用服務(wù)器有問(wèn)題時(shí),負(fù)載均衡會(huì)通過(guò)心跳檢查自動(dòng)把有問(wèn)題的應(yīng)用服務(wù)器剔除,將請(qǐng)求轉(zhuǎn)發(fā)給其他(熱)備份冗余的服務(wù)器上。

例如:以新冠為例,但由于每個(gè)生命都是獨(dú)一無(wú)二的,沒(méi)有辦法切換,也沒(méi)有辦法回滾,也不能降級(jí)(涉及人道主義),只能對(duì)癥下藥慢慢治療。

高可用架構(gòu)設(shè)計(jì)的 7 大核心原則

根據(jù) nPRT 公式,在高可用架構(gòu)設(shè)計(jì)時(shí)有以下 7 個(gè)核心原則:

①少依賴原則:能不依賴的,盡可能不依賴,越少越好(n)

由于所有事物都不是 100% 可靠的,當(dāng) 2 個(gè)事物之間有了關(guān)系,那么就會(huì)相互影響,就互為對(duì)方的一個(gè)風(fēng)險(xiǎn),一個(gè)出問(wèn)題可能會(huì)影響另外一個(gè)。我們統(tǒng)一用依賴來(lái)泛指這里的“關(guān)系”。

例如:一個(gè)系統(tǒng)同時(shí)依賴 Oracle,MySQL,OB 三種關(guān)系型數(shù)據(jù)庫(kù),少依賴原則是改成僅依賴最成熟穩(wěn)定的 OB,不依賴 Oracle 和 MySQL。

什么場(chǎng)景適合多依賴?當(dāng)引入依賴(n 變大)可以減小 PRT 中的一個(gè)或多個(gè),且使 E(r) 整體下降時(shí)。

例如:為解決 DB 風(fēng)險(xiǎn),引入分布式緩存,只要 2 者不同時(shí)掛的時(shí)候依然可用。

②弱依賴原則:一定要依賴的,盡可能弱依賴,越弱越好(P)

事物 a 強(qiáng)依賴事物 b,一旦 b 出問(wèn)題時(shí),那么 a 也會(huì)出問(wèn)題,一損俱損。所以任何強(qiáng)依賴都要盡可能的轉(zhuǎn)化成弱依賴,可以直接降低出問(wèn)題的概率。

例如:交易核心鏈路在交易成功后要要給用戶發(fā)放積分權(quán)益;交易核心系統(tǒng)需要依賴積分權(quán)益系統(tǒng),好的方式是采用弱依賴,使用異步化的方式,這樣積分權(quán)益系統(tǒng)不可用時(shí),大概率不會(huì)影響交易核心鏈路。

③分散原則:雞蛋不要放一個(gè)籃子,分散風(fēng)險(xiǎn)(R)

 

打散拆分成 N 份;避免全局只有 1 份,否則一有問(wèn)題影響范圍就是 100%。

例如:所有交易數(shù)據(jù)都放在同一個(gè)庫(kù)同一張表里面,萬(wàn)一這個(gè)庫(kù)掛了,此時(shí)影響所有交易。

例如:將自己所有的錢(qián)買(mǎi)了同一只股票,萬(wàn)一這只股票是樂(lè)視就慘了。

④均衡原則:均勻分散風(fēng)險(xiǎn),避免不均衡(R)

 

最好 N 份中的每份都是均衡的;避免某個(gè)份額過(guò)大,否則過(guò)大的那份一有問(wèn)題就影響范圍過(guò)大了。

例如:xx 應(yīng)用集群有 1000 臺(tái),但由于引流組件 Bug,導(dǎo)致所有流量引到了其中 100 臺(tái)上面,導(dǎo)致負(fù)載嚴(yán)重不均衡,最后因負(fù)載無(wú)法扛著全面崩潰。類(lèi)似重大故障已經(jīng)發(fā)生了多次。

例如:將自己所有的錢(qián)買(mǎi)了 10 只股票,其中一只占比 99%,萬(wàn)一這只股票是樂(lè)視就慘了。

⑤隔離原則:控制風(fēng)險(xiǎn)不擴(kuò)散,不放大(R)

 

每份之間是相互隔離的;避免一份有問(wèn)題影響其他的也有問(wèn)題,傳播擴(kuò)散了影響范圍。

例如:交易數(shù)據(jù)拆分成 10 庫(kù) 100 表,但是部署在同一臺(tái)物理機(jī)上;萬(wàn)一某張表有一條大 SQL 把網(wǎng)卡打滿了,那 10 庫(kù) 100 表都會(huì)受影響。

例如:將自己所有的錢(qián)均分買(mǎi)了 10 只股票,每只都占 10%,但 10 只都是樂(lè)視系的。

例如:古代赤壁之戰(zhàn)就是一個(gè)典型的反面例子,鐵鎖連船導(dǎo)致隔離性被破壞,一把大火燒了 80w 大軍。

隔離是有級(jí)別的,隔離級(jí)別越高,風(fēng)險(xiǎn)傳播擴(kuò)散的難度就越大,容災(zāi)能力越強(qiáng)。

例如:一個(gè)應(yīng)用集群由 N 臺(tái)服務(wù)器組成,部署在同一臺(tái)物理機(jī)上,或同一個(gè)機(jī)房的不同物理機(jī)上,或同一個(gè)城市的不同機(jī)房里,或不同城市里,不同的部署代表不同的容災(zāi)能力。

例如:人類(lèi)由無(wú)數(shù)人組成,生活在同一個(gè)地球的不同洲上,這意味著人類(lèi)不具備星球級(jí)別的隔離能力,當(dāng)?shù)厍虺霈F(xiàn)毀滅性影響時(shí),人類(lèi)是不具備容災(zāi)的。

隔離原則是一個(gè)極其重要的原則,它是前面 4 個(gè)原則的前提。

沒(méi)有做好隔離,前面 4 個(gè)原則都是脆弱的,風(fēng)險(xiǎn)很容易傳播擴(kuò)散開(kāi),破壞前面 4 個(gè)原則的效果。

大量真實(shí)系統(tǒng)故障是因?yàn)楦綦x性做得不好導(dǎo)致的,如:線下影響線上,離線影響在線,預(yù)發(fā)影響生產(chǎn),一條爛 SQL 影響整個(gè)庫(kù)(或整個(gè)集群)等等。

分散,均衡,隔離是控制風(fēng)險(xiǎn)影響范圍的 3 個(gè)核心原則。打散拆分成 N 份,每一份都是均衡的,且相互隔離,一份有問(wèn)題,影響范圍為 1/N。

⑥無(wú)單點(diǎn)原則:要有冗余或其他版本,做到有路可退(T)

快速止血的方式是切換,回滾,擴(kuò)容等;回滾和擴(kuò)容屬于特殊的切換,回滾指的是切換到某個(gè)版本,擴(kuò)容指的是將流量切換到新擴(kuò)容的機(jī)器上。

切換得有地方可切才行,所以不能有單點(diǎn)(這里特指強(qiáng)依賴的單點(diǎn),弱依賴的可以降級(jí)),要有冗余備份或其他版本;單點(diǎn)會(huì)限制整體的可靠性。

假設(shè)單點(diǎn)的可靠性假設(shè)是 99.99%,它要提升到 99.999% 是非常困難的,但是如果無(wú)單點(diǎn)而是依賴 2 個(gè)(1 個(gè)掛掉沒(méi)有關(guān)系,只要不同時(shí)掛就行),那整體可靠性就是 99.999999% 會(huì)有質(zhì)的提升。

單點(diǎn)故障會(huì)導(dǎo)致無(wú)法快速止血,拉長(zhǎng)整個(gè)止血時(shí)間,去單點(diǎn)至關(guān)重要。這里的單點(diǎn)不僅僅指的是系統(tǒng)節(jié)點(diǎn),也包含人員,如訂閱告警的人,應(yīng)急的人等等。

對(duì)于(重要)數(shù)據(jù)節(jié)點(diǎn),必須滿足無(wú)單點(diǎn)原則,否則極端情況下可能造成數(shù)據(jù)永久丟失,永遠(yuǎn)無(wú)法恢復(fù);(重要)數(shù)據(jù)節(jié)點(diǎn)滿足無(wú)單點(diǎn)原則后,保障數(shù)據(jù)一致性比可用性要求更重要。

例如:一個(gè)商戶僅支持一個(gè)支付渠道,就是典型的單點(diǎn),萬(wàn)一這個(gè)支付渠道掛了就不能支付了。

例如:一個(gè)家庭的所有收入僅依賴父親一個(gè)的薪資收入,萬(wàn)一這個(gè)父親病了,就沒(méi)有收入了。

無(wú)單點(diǎn)原則和分散原則的區(qū)別:

  • 當(dāng)節(jié)點(diǎn)無(wú)狀態(tài)的情況下,打散拆分成 N 份,每份都是相同的功能,互為冗余,即:節(jié)點(diǎn)無(wú)狀態(tài)情況下,分散原則和無(wú)單點(diǎn)原則等價(jià),滿足一個(gè)即可。
  • 當(dāng)節(jié)點(diǎn)有狀態(tài)的情況下,打散拆分成 N 份,每份都是不相同的,每份都沒(méi)有冗余,需要針對(duì)每份再做冗余,即:節(jié)點(diǎn)有狀態(tài)情況下,既要滿足分散原則又要滿足單點(diǎn)原則。

⑦自我保護(hù)原則:少流血,犧牲一部分,保護(hù)另外一部分(P&R&T)

外部的輸入都不是 100% 可靠的,有時(shí)候是無(wú)意的錯(cuò)誤,有時(shí)候甚至是惡意的破壞,因此針對(duì)外部輸入要有防錯(cuò)設(shè)計(jì),給自己多一些保護(hù)。

極端情況下可能無(wú)法(快速)止血,可以考慮少流血,犧牲一部分保護(hù)另外一部分。例如:限流,降級(jí)等。

例如:大促峰值期間,一般會(huì)提前降級(jí)掉很多功能,同時(shí)限流,主要是為了保護(hù)峰值絕大部分人的交易支付體驗(yàn)。

例如:人體在失血過(guò)多或疼痛過(guò)度時(shí)就會(huì)觸發(fā)休克現(xiàn)象,這也是一種典型的自我保護(hù)機(jī)制。

軟件風(fēng)險(xiǎn)在何方

前面介紹了控制風(fēng)險(xiǎn)的方法,回到軟件系統(tǒng)這個(gè)領(lǐng)域,它的風(fēng)險(xiǎn)又在哪里?

以軟件系統(tǒng)為對(duì)象,從內(nèi)看包括:計(jì)算系統(tǒng)和存儲(chǔ)系統(tǒng);從外看包括:人員,硬件,上游系統(tǒng),下游系統(tǒng);以及(隱含的)時(shí)間。

 

由于每個(gè)對(duì)象都是由其他對(duì)象組成的,因此每個(gè)對(duì)象還可以繼續(xù)往細(xì)分解(理論上可以無(wú)限分解下去),上面的分解方式主要是為了簡(jiǎn)化理解。

軟件系統(tǒng)風(fēng)險(xiǎn)的來(lái)源

風(fēng)險(xiǎn)源于(有危害的)變化,一個(gè)對(duì)象的風(fēng)險(xiǎn)來(lái)源于所有跟它有關(guān)系的對(duì)象的(有危害的)變化。

因此,軟件系統(tǒng)風(fēng)險(xiǎn)的來(lái)源,分為以下 7 大類(lèi):

①計(jì)算系統(tǒng)變化:運(yùn)行變慢,運(yùn)行錯(cuò)誤

系統(tǒng)運(yùn)行所依賴的服務(wù)器資源(如 CPU,MEM,IO 等),應(yīng)用資源(RPC 線程數(shù),DB 連接數(shù)等),業(yè)務(wù)資源(業(yè)務(wù) ID 滿了,余額不足,業(yè)務(wù)額度不夠等)的負(fù)載等都會(huì)影響系統(tǒng)運(yùn)行的風(fēng)險(xiǎn)期望。

②存儲(chǔ)系統(tǒng)變化:運(yùn)行變慢,運(yùn)行錯(cuò)誤,數(shù)據(jù)錯(cuò)誤

系統(tǒng)運(yùn)行所依賴的服務(wù)器資源(如 CPU,MEM,IO 等),存儲(chǔ)資源(并發(fā)數(shù)等),數(shù)據(jù)資源(單庫(kù)容量,單表容量等)的負(fù)載和數(shù)據(jù)一致性等都會(huì)影響存儲(chǔ)系統(tǒng)運(yùn)行的風(fēng)險(xiǎn)期望。

③人的變化:變更出錯(cuò)

變更人員的數(shù)量,安全生產(chǎn)意識(shí),熟練程度,變更的數(shù)量,變更的方式等都會(huì)影響變更的風(fēng)險(xiǎn)期望。

由于變更的人多,變更的次數(shù)也多,導(dǎo)致變更成為螞蟻所有故障來(lái)源里的 TOP1,這也是為什么“變更三板斧”這么出名的原因。

“變更三板斧”正確的排序應(yīng)該是“可灰度,可監(jiān)控,可應(yīng)急”;可灰度代表的是 R,可監(jiān)控和可應(yīng)急代表的是 T。

思考:如果變更三板斧讓你再加一板斧,你覺(jué)得應(yīng)該是什么?

④硬件變化:損壞

硬件的數(shù)量,質(zhì)量,使用年限,保養(yǎng)等都會(huì)影響硬件的風(fēng)險(xiǎn)期望,硬件損壞會(huì)影響上層軟件系統(tǒng)不可用。

⑤上游變化:請(qǐng)求變大

請(qǐng)求分為 3 個(gè)維度:(由無(wú)數(shù) API 匯集而成的)網(wǎng)絡(luò)流量,(由無(wú)數(shù) KEY 請(qǐng)求組成的)API,KEY。

  • 網(wǎng)絡(luò)流量過(guò)大會(huì)造成網(wǎng)絡(luò)堵塞,影響網(wǎng)絡(luò)通道中的所有網(wǎng)絡(luò)流量請(qǐng)求。
  • API 請(qǐng)求過(guò)大會(huì)造成對(duì)應(yīng)服務(wù)集群過(guò)載,影響整個(gè)服務(wù)機(jī)器上的所有 API 請(qǐng)求,甚至往外傳播。
  • KEY 請(qǐng)求過(guò)大(俗稱“熱點(diǎn) KEY”)會(huì)造成單機(jī)過(guò)載,影響單機(jī)上所有 KEY 請(qǐng)求,甚至往外傳播。

所以大促保障的時(shí)候,不僅僅是關(guān)注核心 API 的容量保障,還需要考慮網(wǎng)絡(luò)流量和熱點(diǎn) KEY。

⑥下游變化:響應(yīng)變慢,響應(yīng)錯(cuò)誤

下游服務(wù)的數(shù)量,服務(wù)等級(jí),服務(wù)可用率等影響下游服務(wù)的風(fēng)險(xiǎn)期望。下游響應(yīng)變慢可能會(huì)拖慢上游,下游響應(yīng)錯(cuò)誤可能會(huì)影響上游運(yùn)行結(jié)果。

⑦時(shí)間變化:時(shí)間到期

時(shí)間到期往往被人忽視,但它往往具有突然性和全局破壞性,一旦時(shí)間到期觸發(fā)故障會(huì)導(dǎo)致非常被動(dòng),所以要提前識(shí)別,盡早預(yù)警,如:秘鑰到期,證書(shū)到期,費(fèi)用到期,跨時(shí)區(qū),跨年,跨月,跨日等。

例如:2019 年日本運(yùn)營(yíng)商軟銀因證書(shū)到期引發(fā) 3000w 用戶長(zhǎng)達(dá) 4 小時(shí)通信中斷。

以上每一大類(lèi)風(fēng)險(xiǎn)都可以基于 nPRT 公式進(jìn)行逐一分析處理。

風(fēng)險(xiǎn)的數(shù)量:一生三,三生萬(wàn)物

任何一個(gè)事物既是由其他事物組成的又是其他事物的組成部分,無(wú)限循環(huán)下去;一生三,三生萬(wàn)物,風(fēng)險(xiǎn)的數(shù)量是無(wú)窮無(wú)盡的。

向內(nèi)看,內(nèi)含內(nèi),可以無(wú)限小下去;當(dāng)原子粒度的問(wèn)題傳播開(kāi)時(shí),也可能影響軟件系統(tǒng)的可用性,就像 100 納米的新冠病毒就可以影響人體的可用性一樣。

向外看,外有外,可以無(wú)限大下去;當(dāng)太陽(yáng)系毀滅,軟件系統(tǒng)的可用性自然就不復(fù)存在。

雖然風(fēng)險(xiǎn)無(wú)窮無(wú)盡,但是只要我們對(duì)風(fēng)險(xiǎn)多一些了解,根據(jù)控制風(fēng)險(xiǎn)的一些理念和原則,還是可以更好的降低風(fēng)險(xiǎn)期望。

談一談敬畏之心:

  • 我們對(duì)世界的認(rèn)知是有限的,這也讓我們少了許多恐懼,同時(shí)也讓我們少了一些敬畏之心。
  • 我們真正要敬畏的不是處罰條例,而是我們不知道的,以及我們不知道我們不知道。

結(jié)束語(yǔ)

總結(jié)如下:

  • 所有事物都是變化的。
  • 所有事物都不是 100% 可靠的。
  • 因此才有了風(fēng)險(xiǎn),風(fēng)險(xiǎn)是不可見(jiàn)的,可見(jiàn)的是故障。
  • 風(fēng)險(xiǎn)是不能消滅光的,但是可以遠(yuǎn)離,可以減少。
  • 故障是不可避免的,但是可以推遲,可以縮小影響范圍,縮短影響時(shí)間。
  • nPRT 公式不僅僅適用于軟件系統(tǒng)風(fēng)險(xiǎn),也適用于其他風(fēng)險(xiǎn)領(lǐng)域,希望對(duì)大家有用。

作者:樂(lè)羊

編輯:陶家龍

出處:轉(zhuǎn)載自公眾號(hào)阿里技術(shù)(ID:ali_tech)

 

責(zé)任編輯:武曉燕 來(lái)源: 阿里技術(shù)
相關(guān)推薦

2020-03-02 15:17:37

云原生CNCF容器

2019-07-04 09:13:04

中臺(tái)百度團(tuán)隊(duì)

2020-10-29 10:35:53

Nginx架構(gòu)服務(wù)器

2018-07-26 09:06:29

Java內(nèi)存模型

2019-10-21 08:51:41

分布式事務(wù)CAPAP

2020-01-13 15:34:10

超融合邊緣計(jì)算架構(gòu)

2022-11-11 15:49:41

MySQL隔離

2020-07-29 09:21:34

Docker集群部署隔離環(huán)境

2024-04-01 10:09:23

AutowiredSpring容器

2021-04-10 10:37:04

OSITCP互聯(lián)網(wǎng)

2021-07-05 22:22:24

協(xié)議MQTT

2019-02-21 16:24:28

5G火車(chē)站設(shè)備

2021-10-09 00:02:04

DevOps敏捷開(kāi)發(fā)

2021-06-13 12:03:46

SaaS軟件即服務(wù)

2022-03-27 20:32:28

Knative容器事件模型

2019-07-07 08:18:10

MySQL索引數(shù)據(jù)庫(kù)

2024-12-13 08:06:38

Java分類(lèi)理

2021-03-25 11:24:25

爬蟲(chóng)技術(shù)開(kāi)發(fā)

2021-12-03 18:25:56

數(shù)據(jù)指標(biāo)本質(zhì)

2022-04-27 18:25:02

數(shù)據(jù)采集維度
點(diǎn)贊
收藏

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