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

漫話:如何給女朋友解釋系統(tǒng)高可用?

開(kāi)發(fā) 架構(gòu) 開(kāi)發(fā)工具
在一個(gè)陽(yáng)光明媚的周二下午,我正在公司里面看著即將發(fā)布的 Java 12 的新特性,這時(shí)候女朋友打來(lái)電話。

 在一個(gè)陽(yáng)光明媚的周二下午,我正在公司里面看著即將發(fā)布的 Java 12 的新特性,這時(shí)候女朋友打來(lái)電話。 

 

晚上下班后,女朋友回到家里面和我說(shuō),發(fā)現(xiàn)淘寶無(wú)法訪問(wèn)的十幾分鐘后又可以了。

[[261805]]

[[261806]]

 

系統(tǒng)可用性

系統(tǒng)的可用性,英文名字為 System Usability,即系統(tǒng)服務(wù)不中斷運(yùn)行時(shí)間占實(shí)際運(yùn)行時(shí)間的比例。所以,可用性其實(shí)是一個(gè)百分比,如 99.9%。

我們通常會(huì)聽(tīng)說(shuō)一個(gè)詞:高可用,其實(shí)指的就是高可用性。高可用指的就是系統(tǒng)服務(wù)不中斷運(yùn)行時(shí)間占實(shí)際運(yùn)行時(shí)間的占比更大。

要了解可用性,躲不開(kāi)的三個(gè)體現(xiàn)系統(tǒng)可用性的重要指標(biāo):

  • MTTR
  • MTTF
  • MTBF

MTTR:即 Mean Time To Repair,中文為:平均修復(fù)時(shí)間,指系統(tǒng)從發(fā)生故障到維修結(jié)束之間的時(shí)間段的平均值。

MTTF:即 Mean Time To Failure,中文為:平均無(wú)故障時(shí)間。指系統(tǒng)無(wú)故障運(yùn)行的平均時(shí)間,取所有從系統(tǒng)開(kāi)始正常運(yùn)行到發(fā)生故障之間的時(shí)間段的平均值。

MTBF:即 Mean Time Between Failure,中文為:平均失效間隔,指系統(tǒng)兩次故障發(fā)生時(shí)間之間的時(shí)間段的平均值。

 

上圖,就是一張可以提現(xiàn)三者之間關(guān)系的圖,可以看出:

  1. MTBF = MTTF + MTTR 

按照以上概念,那么系統(tǒng)的可用性指的其實(shí)就是: MTTF / MTBF * 100% ,即 MTTF / ( MTTF + MTTR ) * 100%。

 

在實(shí)際的情況中,很多系統(tǒng)都是由若干個(gè)子系統(tǒng)組成的,那么整個(gè)系統(tǒng)的可用性到底該如何計(jì)算呢?我們接著來(lái)了解下系統(tǒng)結(jié)構(gòu)。

對(duì)于串聯(lián)系統(tǒng):

 

對(duì)于并聯(lián)系統(tǒng):

 

對(duì)于組合系統(tǒng):

 

可用性的衡量

衡量系統(tǒng)的高可用性,一般通過(guò) SLA,全稱 Service Level Agreement,也就是有幾個(gè) 9 的高可用性。

我們經(jīng)??梢钥吹胶芏喙緯?huì)宣稱自己的系統(tǒng)可以達(dá)到 99.99%、99.999%等。

工業(yè)界通常通過(guò)統(tǒng)計(jì)故障發(fā)生到恢復(fù)的時(shí)間的方法來(lái)測(cè)量 SLA。一般以年度為單位,統(tǒng)計(jì)一年內(nèi)的系統(tǒng)不可用總時(shí)長(zhǎng)。

具體對(duì)應(yīng)關(guān)系如下表:


 

 

墨菲定律說(shuō) “會(huì)出錯(cuò)的事總會(huì)出錯(cuò)”,可用性做到 100 是可望而不可及的。

對(duì)于 SLA 指標(biāo)來(lái)說(shuō),9 的數(shù)字越多可用性越高,宕機(jī)時(shí)間越少,系統(tǒng)就可以在給定的時(shí)刻內(nèi)高比例地正常工作。然而對(duì)系統(tǒng)的挑戰(zhàn)就越大,投入的成本也會(huì)越高。

比如 5 個(gè) 9 要求系統(tǒng)每年只宕機(jī) 5 分鐘左右,而 4 個(gè) 9 要求每年宕機(jī)時(shí)間不超過(guò)一個(gè)小時(shí)。

這就使得系統(tǒng)需要在設(shè)計(jì)、基礎(chǔ)設(shè)施、數(shù)據(jù)備份等不同層面采取多種方式,甚至增加基礎(chǔ)設(shè)施投資來(lái)保證可用性。

“當(dāng)你的設(shè)備處理人命關(guān)天的事情,或業(yè)務(wù)中斷一分鐘就會(huì)損失百萬(wàn)美刀,那么你可以考慮 99.99% 的可靠性。”

Robertson(Linux 高可用項(xiàng)目開(kāi)發(fā)者)

不同系統(tǒng)的可用性要求也是不同的,比如:淘寶、京東等這些電商系統(tǒng)用戶量很多,不同區(qū)不同時(shí)刻都有大量的用戶在使用系統(tǒng),這必然對(duì)系統(tǒng)的可用性要求很高。

據(jù)以往這些系統(tǒng)的故障統(tǒng)計(jì)和不準(zhǔn)確地測(cè)試數(shù)據(jù)推測(cè),它們目前的可用性是在 3 個(gè) 9 到 4 個(gè) 9 左右。

相對(duì)而言,企業(yè)類的工作軟件因?yàn)橥ǔV辉诠ぷ鲿r(shí)間被使用,或只在某些特定的地區(qū)使用,或只給某部分人某一特定時(shí)間使用,可用性的需求就會(huì)低一些。

 

可用性的保障

影響可用性的因素有很多,包括系統(tǒng)故障、基礎(chǔ)設(shè)施故障、數(shù)據(jù)故障、安全攻擊、系統(tǒng)壓力等等。

可用性的保障涉及到很多層面,其中包括但不限于:

  • 軟件的設(shè)計(jì)、編碼、測(cè)試、上線和軟件配置管理的水平
  • 工程師的人員技能水平
  • 運(yùn)維的管理和技術(shù)水平
  • 數(shù)據(jù)中心的運(yùn)營(yíng)管理水平
  • 依賴于第三方服務(wù)的管理水平
  • 對(duì)待技術(shù)的態(tài)度
  • 一個(gè)公司的工程文化
  • 領(lǐng)導(dǎo)者對(duì)工程的尊重

下面的表格里,列出了高可用常見(jiàn)的問(wèn)題和應(yīng)對(duì)措施:

 

保障系統(tǒng)的高可用,并不是一個(gè)簡(jiǎn)單的事情,上表中列舉的也只是其中一部分方法論,真正的保證高可用,還是需要大量實(shí)踐的!

 

責(zé)任編輯:武曉燕 來(lái)源: 漫話編程
相關(guān)推薦

2019-03-12 09:43:14

反向代理正向代理服務(wù)器

2020-03-16 14:08:59

線程熔斷限流

2021-09-14 12:00:11

VR字節(jié)跳動(dòng)

2019-10-09 10:45:16

云計(jì)算Web互聯(lián)網(wǎng)

2019-12-23 10:26:02

3PC分布式2PC

2020-10-19 13:01:31

刪庫(kù)程序員思科

2019-04-19 09:48:53

樂(lè)觀鎖悲觀鎖數(shù)據(jù)庫(kù)

2019-07-22 10:34:31

大案牘術(shù)大數(shù)據(jù)Big Data

2019-04-26 14:46:18

GitGitHub局域網(wǎng)

2019-08-13 10:34:26

鴻蒙OS跨平臺(tái)Linux內(nèi)核

2021-06-07 12:11:20

JavaRunning狀態(tài)

2020-12-28 12:37:36

緩存擊穿穿透

2020-03-23 12:57:20

撞庫(kù)脫庫(kù)洗庫(kù)

2021-03-02 06:03:30

Java繼承對(duì)象

2021-05-10 19:58:06

MySQLUTF-8數(shù)據(jù)庫(kù)

2020-10-12 13:27:21

計(jì)算機(jī)瀏覽器電腦

2021-04-26 14:00:43

Java 數(shù)據(jù)類型

2021-03-09 12:27:05

微服務(wù) 微服務(wù)架構(gòu)應(yīng)用程序

2019-03-06 10:59:09

寬帶王者榮耀網(wǎng)絡(luò)

2015-08-26 10:17:29

程序員女朋友
點(diǎn)贊
收藏

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