SLA服務(wù)可用性4個(gè)9是什么意思嫁审?如何保證服務(wù)的高可用性 HA(High Availability)?

如何保證服務(wù)的高可用性 HA(High Availability)?

高可用HA(High Availability)是分布式系統(tǒng)架構(gòu)設(shè)計(jì)中必須考慮的因素之一,它通常是指赖晶,通過(guò)設(shè)計(jì)減少系統(tǒng)不能提供服務(wù)的時(shí)間律适。方法論上,高可用是通過(guò)冗余+自動(dòng)故障轉(zhuǎn)移來(lái)實(shí)現(xiàn)的遏插。

我們都知道捂贿,單點(diǎn)是系統(tǒng)高可用的大敵,單點(diǎn)往往是系統(tǒng)高可用最大的風(fēng)險(xiǎn)和敵人胳嘲,應(yīng)該盡量在系統(tǒng)設(shè)計(jì)的過(guò)程中避免單點(diǎn)厂僧。

方法論上,高可用保證的原則是“集群化”了牛,或者叫“冗余”:只有一個(gè)單點(diǎn)颜屠,掛了服務(wù)會(huì)受影響;如果有冗余備份鹰祸,掛了還有其他backup能夠頂上甫窟。

保證系統(tǒng)高可用,架構(gòu)設(shè)計(jì)的核心準(zhǔn)則是:冗余蛙婴。有了冗余之后粗井,還不夠,每次出現(xiàn)故障需要人工介入恢復(fù)勢(shì)必會(huì)增加系統(tǒng)的不可服務(wù)實(shí)踐街图。所以浇衬,又往往是通過(guò)“自動(dòng)故障轉(zhuǎn)移”來(lái)實(shí)現(xiàn)系統(tǒng)的高可用。

互聯(lián)網(wǎng)架構(gòu)中台夺,通常是通過(guò)冗余+自動(dòng)故障轉(zhuǎn)移來(lái)保證系統(tǒng)的高可用特性径玖。

從實(shí)戰(zhàn)經(jīng)驗(yàn)來(lái)看如何保證服務(wù)的高可用性:

一:服務(wù)架構(gòu)層面
(1)根據(jù)服務(wù)對(duì)象地區(qū),考慮節(jié)點(diǎn)分布

(2)避免服務(wù)單點(diǎn)颤介,至少雙機(jī)
(3)防止代碼之間干擾梳星,避免穩(wěn)定代碼和迭代頻繁代碼放在一起赞赖,可以按照業(yè)務(wù)或者功能做服務(wù)分離。
(4)防止服務(wù)之間干擾冤灾,重要服務(wù)最好做隔離前域,單獨(dú)部署
(5)防止數(shù)據(jù)庫(kù)壓力過(guò)大,不然韵吨,可能產(chǎn)生雪崩效應(yīng)匿垄,可以根據(jù)業(yè)務(wù)特點(diǎn)做分庫(kù)分表,加緩存等處理.
(6)保證服務(wù)能力buffer, 盡量有冗余處理能力.

二:運(yùn)維層面
(1)服務(wù)監(jiān)控归粉。比如磁盤椿疗、CPU、網(wǎng)絡(luò)
(2)監(jiān)控多級(jí)別糠悼,到達(dá)不同級(jí)別給出不同警告

三:代碼層面
(1)保證代碼異常不會(huì)導(dǎo)致服務(wù)掛掉
(2)保證服務(wù)是無(wú)狀態(tài)的届榄,可以支持水平擴(kuò)展


數(shù)據(jù)的水平擴(kuò)展

分層高可用架構(gòu)實(shí)踐

常見互聯(lián)網(wǎng)分布式架構(gòu)如上,分為:

(1)客戶端層:典型調(diào)用方是瀏覽器browser或者手機(jī)應(yīng)用APP
(2)反向代理層:系統(tǒng)入口倔喂,反向代理
(3)站點(diǎn)應(yīng)用層:實(shí)現(xiàn)核心應(yīng)用邏輯铝条,返回html或者json
(4)服務(wù)層:如果實(shí)現(xiàn)了服務(wù)化,就有這一層
(5)數(shù)據(jù)-緩存層:緩存加速訪問(wèn)存儲(chǔ)
(6)數(shù)據(jù)-數(shù)據(jù)庫(kù)層:數(shù)據(jù)庫(kù)固化數(shù)據(jù)存儲(chǔ)
整個(gè)系統(tǒng)的高可用席噩,又是通過(guò)每一層的冗余+自動(dòng)故障轉(zhuǎn)移來(lái)綜合實(shí)現(xiàn)的班缰。

1. 客戶端層->反向代理層的高可用

客戶端層到反向代理層的高可用,是通過(guò)反向代理層的冗余來(lái)實(shí)現(xiàn)的悼枢。以nginx為例:有兩臺(tái)nginx埠忘,一臺(tái)對(duì)線上提供服務(wù),另一臺(tái)冗余以保證高可用萧芙,常見的實(shí)踐是keepalived存活探測(cè)给梅,相同virtual IP提供服務(wù)。

自動(dòng)故障轉(zhuǎn)移:當(dāng)nginx掛了的時(shí)候双揪,keepalived能夠探測(cè)到动羽,會(huì)自動(dòng)的進(jìn)行故障轉(zhuǎn)移,將流量自動(dòng)遷移到shadow-nginx渔期,由于使用的是相同的virtual IP运吓,這個(gè)切換過(guò)程對(duì)調(diào)用方是透明的。

2. 反向代理層->站點(diǎn)層的高可用

反向代理層到站點(diǎn)層的高可用疯趟,是通過(guò)站點(diǎn)層的冗余來(lái)實(shí)現(xiàn)的拘哨。假設(shè)反向代理層是nginx,nginx.conf里能夠配置多個(gè)web后端信峻,并且nginx能夠探測(cè)到多個(gè)后端的存活性倦青。

自動(dòng)故障轉(zhuǎn)移:當(dāng)web-server掛了的時(shí)候,nginx能夠探測(cè)到盹舞,會(huì)自動(dòng)的進(jìn)行故障轉(zhuǎn)移产镐,將流量自動(dòng)遷移到其他的web-server隘庄,整個(gè)過(guò)程由nginx自動(dòng)完成,對(duì)調(diào)用方是透明的癣亚。

3. 站點(diǎn)層->服務(wù)層的高可用

站點(diǎn)層到服務(wù)層的高可用丑掺,是通過(guò)服務(wù)層的冗余來(lái)實(shí)現(xiàn)的∈鑫恚“服務(wù)連接池”會(huì)建立與下游服務(wù)多個(gè)連接街州,每次請(qǐng)求會(huì)“隨機(jī)”選取連接來(lái)訪問(wèn)下游服務(wù)。

自動(dòng)故障轉(zhuǎn)移:當(dāng)service掛了的時(shí)候玻孟,service-connection-pool能夠探測(cè)到唆缴,會(huì)自動(dòng)的進(jìn)行故障轉(zhuǎn)移,將流量自動(dòng)遷移到其他的service取募,整個(gè)過(guò)程由連接池自動(dòng)完成琐谤,對(duì)調(diào)用方是透明的(所以說(shuō)RPC-client中的服務(wù)連接池是很重要的基礎(chǔ)組件)。

4. 服務(wù)層>緩存層的高可用

服務(wù)層到緩存層的高可用玩敏,是通過(guò)緩存數(shù)據(jù)的冗余來(lái)實(shí)現(xiàn)的。 緩存層的數(shù)據(jù)冗余又有幾種方式:第一種是利用客戶端的封裝质礼,service對(duì)cache進(jìn)行雙讀或者雙寫旺聚。

緩存層也可以通過(guò)支持主從同步的緩存集群來(lái)解決緩存層的高可用問(wèn)題。

以redis為例眶蕉,redis天然支持主從同步砰粹,redis官方也有sentinel哨兵機(jī)制,來(lái)做redis的存活性檢測(cè)造挽。

自動(dòng)故障轉(zhuǎn)移:當(dāng)redis主掛了的時(shí)候碱璃,sentinel能夠探測(cè)到,會(huì)通知調(diào)用方訪問(wèn)新的redis饭入,整個(gè)過(guò)程由sentinel和redis集群配合完成嵌器,對(duì)調(diào)用方是透明的。

說(shuō)完緩存的高可用谐丢,這里要多說(shuō)一句爽航,業(yè)務(wù)對(duì)緩存并不一定有“高可用”要求,更多的對(duì)緩存的使用場(chǎng)景乾忱,是用來(lái)“加速數(shù)據(jù)訪問(wèn)”:把一部分?jǐn)?shù)據(jù)放到緩存里讥珍,如果緩存掛了或者緩存沒有命中,是可以去后端的數(shù)據(jù)庫(kù)中再取數(shù)據(jù)的窄瘟。

這類允許“cache miss”的業(yè)務(wù)場(chǎng)景衷佃,緩存架構(gòu)的建議是:

將kv緩存封裝成服務(wù)集群,上游設(shè)置一個(gè)代理(代理可以用集群的方式保證高可用)蹄葱,代理的后端根據(jù)緩存訪問(wèn)的key水平切分成若干個(gè)實(shí)例氏义,每個(gè)實(shí)例的訪問(wèn)并不做高可用衰腌。

緩存實(shí)例掛了屏蔽:當(dāng)有水平切分的實(shí)例掛掉時(shí),代理層直接返回cache miss觅赊,此時(shí)緩存掛掉對(duì)調(diào)用方也是透明的右蕊。key水平切分實(shí)例減少,不建議做re-hash吮螺,這樣容易引發(fā)緩存數(shù)據(jù)的不一致饶囚。

5. 服務(wù)層>數(shù)據(jù)庫(kù)層的高可用

大部分互聯(lián)網(wǎng)技術(shù),數(shù)據(jù)庫(kù)層都用了“主從同步鸠补,讀寫分離”架構(gòu)萝风,所以數(shù)據(jù)庫(kù)層的高可用,又分為“讀庫(kù)高可用”與“寫庫(kù)高可用”兩類紫岩。

服務(wù)層>數(shù)據(jù)庫(kù)層“讀”的高可用

服務(wù)層到數(shù)據(jù)庫(kù)讀的高可用规惰,是通過(guò)讀庫(kù)的冗余來(lái)實(shí)現(xiàn)的。

既然冗余了讀庫(kù)泉蝌,一般來(lái)說(shuō)就至少有2個(gè)從庫(kù)歇万,“數(shù)據(jù)庫(kù)連接池”會(huì)建立與讀庫(kù)多個(gè)連接,每次請(qǐng)求會(huì)路由到這些讀庫(kù)勋陪。

自動(dòng)故障轉(zhuǎn)移:當(dāng)讀庫(kù)掛了的時(shí)候贪磺,db-connection-pool能夠探測(cè)到,會(huì)自動(dòng)的進(jìn)行故障轉(zhuǎn)移诅愚,將流量自動(dòng)遷移到其他的讀庫(kù)寒锚,整個(gè)過(guò)程由連接池自動(dòng)完成,對(duì)調(diào)用方是透明的(所以說(shuō)DAO中的數(shù)據(jù)庫(kù)連接池是很重要的基礎(chǔ)組件)违孝。

服務(wù)層>數(shù)據(jù)庫(kù)層“寫”的高可用

服務(wù)層到數(shù)據(jù)庫(kù)寫的高可用刹前,是通過(guò)寫庫(kù)的冗余來(lái)實(shí)現(xiàn)的。

以mysql為例雌桑,可以設(shè)置兩個(gè)mysql雙主同步喇喉,一臺(tái)對(duì)線上提供服務(wù),另一臺(tái)冗余以保證高可用筹燕,常見的實(shí)踐是keepalived存活探測(cè)轧飞,相同virtual IP提供服務(wù)。

自動(dòng)故障轉(zhuǎn)移:

當(dāng)寫庫(kù)掛了的時(shí)候撒踪,keepalived能夠探測(cè)到过咬,會(huì)自動(dòng)的進(jìn)行故障轉(zhuǎn)移,將流量自動(dòng)遷移到shadow-db-master制妄,由于使用的是相同的virtual IP掸绞,這個(gè)切換過(guò)程對(duì)調(diào)用方是透明的。

小結(jié):

整個(gè)互聯(lián)網(wǎng)分層系統(tǒng)架構(gòu)的高可用,又是通過(guò)每一層的冗余+自動(dòng)故障轉(zhuǎn)移來(lái)綜合實(shí)現(xiàn)的衔掸,具體的:

(1)客戶端層到反向代理層的高可用烫幕,是通過(guò)反向代理層的冗余實(shí)現(xiàn)的,常見實(shí)踐是keepalived + virtual IP自動(dòng)故障轉(zhuǎn)移敞映。
(2)反向代理層到站點(diǎn)層的高可用较曼,是通過(guò)站點(diǎn)層的冗余實(shí)現(xiàn)的,常見實(shí)踐是nginx與web-server之間的存活性探測(cè)與自動(dòng)故障轉(zhuǎn)移振愿。
(3)站點(diǎn)層到服務(wù)層的高可用捷犹,是通過(guò)服務(wù)層的冗余實(shí)現(xiàn)的,常見實(shí)踐是通過(guò)service-connection-pool來(lái)保證自動(dòng)故障轉(zhuǎn)移冕末。
(4)服務(wù)層到緩存層的高可用萍歉,是通過(guò)緩存數(shù)據(jù)的冗余實(shí)現(xiàn)的,常見實(shí)踐是緩存客戶端雙讀雙寫档桃,或者利用緩存集群的主從數(shù)據(jù)同步與sentinel彼浠活與自動(dòng)故障轉(zhuǎn)移撒犀;更多的業(yè)務(wù)場(chǎng)景创千,對(duì)緩存沒有高可用要求间学,可以使用緩存服務(wù)化來(lái)對(duì)調(diào)用方屏蔽底層復(fù)雜性。
(5)服務(wù)層到數(shù)據(jù)庫(kù)“讀”的高可用仅炊,是通過(guò)讀庫(kù)的冗余實(shí)現(xiàn)的斗幼,常見實(shí)踐是通過(guò)db-connection-pool來(lái)保證自動(dòng)故障轉(zhuǎn)移。
(6)服務(wù)層到數(shù)據(jù)庫(kù)“寫”的高可用抚垄,是通過(guò)寫庫(kù)的冗余實(shí)現(xiàn)的,常見實(shí)踐是keepalived + virtual IP自動(dòng)故障轉(zhuǎn)移谋逻。

SLA 是什么?

SLA:服務(wù)等級(jí)協(xié)議(簡(jiǎn)稱:SLA呆馁,全稱:service level agreement)。是在一定開銷下為保障服務(wù)的性能和可用性毁兆,服務(wù)提供商與用戶間定義的一種雙方認(rèn)可的協(xié)定浙滤。通常這個(gè)開銷是驅(qū)動(dòng)提供服務(wù)質(zhì)量的主要因素。

SLA的定義來(lái)源百度气堕,這到底是什么意思呢纺腊?

我們平常經(jīng)常看到互聯(lián)網(wǎng)公司喊口號(hào)茎芭,我們今年一定要做到3個(gè)9揖膜、4個(gè)9,即99.9%梅桩、99.99%壹粟,甚至還有5個(gè)9,即99.999%宿百。

這么多9代表什么意思呢趁仙?

首先洪添,SLA的概念,對(duì)互聯(lián)網(wǎng)公司來(lái)說(shuō)就是網(wǎng)站服務(wù)可用性的一個(gè)保證雀费。9越多代表全年服務(wù)可用時(shí)間越長(zhǎng)服務(wù)更可靠干奢,停機(jī)時(shí)間越短,反之亦然盏袄。

這么多9是怎么計(jì)算的呢忿峻?

全年拿365天做計(jì)算吧,看看幾個(gè)9要停機(jī)多久時(shí)間做能才能達(dá)到貌矿!

1年 = 365天 = 8760小時(shí)

99.9 = 8760 * 0.1% = 8760 * 0.001 = 8.76小時(shí)

99.99 = 8760 * 0.0001 = 0.876小時(shí) = 0.876 * 60 = 52.6分鐘

99.999 = 8760 * 0.00001 = 0.0876小時(shí) = 0.0876 * 60 = 5.26分鐘

從以上看來(lái)炭菌,全年停機(jī)5.26分鐘才能做到99.999%,即5個(gè)9逛漫。依此類推黑低,要達(dá)到6個(gè)9及更多9,可說(shuō)是非常難了吧酌毡。

怎么做到更多的9?

每個(gè)公司對(duì)幾個(gè)9的定義都不一樣克握,互聯(lián)網(wǎng)公司至少都是99.99吧。像一些政府網(wǎng)站枷踏,如社保公積金等菩暗,經(jīng)常故障服務(wù)不可用,能做到99.9就不錯(cuò)了旭蠕。

如果我們提供的服務(wù)可用性越低停团,意味著造成的損失也越大,別的不說(shuō)掏熬,如果是特別重要的時(shí)刻佑稠,或許就在某一分鐘,你可能就會(huì)因服務(wù)不可用而丟掉一筆大的訂單旗芬,這都是始料未及的舌胶。所以,只要盡可能的提升SLA可用性才能最大化的提高企業(yè)生產(chǎn)力疮丛。

要做到更多的9幔嫂,就要不斷的監(jiān)控自己的服務(wù),服務(wù)掛掉能及時(shí)恢復(fù)服務(wù)誊薄。就像開車出遠(yuǎn)門履恩,首先得檢查輪胎,同時(shí)還得準(zhǔn)備一個(gè)備胎一樣的道理∠疚荩現(xiàn)在的產(chǎn)品和系統(tǒng)都非常的復(fù)雜似袁,彼此連接依賴越來(lái)越復(fù)雜,為了整體的高速運(yùn)轉(zhuǎn),對(duì)每個(gè)部件的穩(wěn)定性越來(lái)越高昙衅,越來(lái)越精密扬霜,發(fā)展到一定程度,人力已經(jīng)無(wú)法掌控而涉,任何一個(gè)組件出異常都有可能牽一發(fā)而動(dòng)全身著瓶,影響全局。每個(gè)部件的穩(wěn)定性和精密程度決定了整體的工程質(zhì)量啼县,也決定了整體的發(fā)展速度材原。

定義SLI

SLI, Service Level Indicator 關(guān)鍵量化指標(biāo).

SLI關(guān)注下面五點(diǎn):
要測(cè)量的指標(biāo)是什么?

測(cè)量時(shí)的系統(tǒng)狀態(tài)季眷?

如何匯總處理測(cè)量的指標(biāo)余蟹?

測(cè)量指標(biāo)能否準(zhǔn)確描述服務(wù)質(zhì)量?

測(cè)量指標(biāo)的可靠度(trust worthy)子刮?

SLO,Service-Level Objective 服務(wù)等級(jí)目標(biāo),指定了服務(wù)所提供功能的一種期望狀態(tài)威酒。

一個(gè)有明確SLA的服務(wù)最理想的運(yùn)行狀態(tài)是: 增加額外資源來(lái)改進(jìn)系統(tǒng)所帶來(lái)的收益小于把該資源投給其他服務(wù)所帶來(lái)的收益。

一個(gè)簡(jiǎn)單的例子就是某服務(wù)可用性從99.9%提高到99.99%所需要的資源和帶來(lái)的收益之比挺峡,是決定該服務(wù)是否應(yīng)該提供4個(gè)9的重要依據(jù)葵孤。

SLA的計(jì)算方式,是使用正常運(yùn)行時(shí)間/(正常運(yùn)行時(shí)間+故障時(shí)間)橱赠,當(dāng)指標(biāo)為99.99的時(shí)候尤仍,每年的停機(jī)時(shí)間只有52.26分鐘。狭姨。宰啦。停機(jī)時(shí)間又分為兩種,一種是計(jì)劃內(nèi)停機(jī)時(shí)間饼拍,一種是計(jì)劃外停機(jī)時(shí)間绑莺,而運(yùn)維則主要關(guān)注計(jì)劃外停機(jī)時(shí)間。

在分布式系統(tǒng)中用時(shí)間指標(biāo)來(lái)衡量系統(tǒng)的可用性惕耕,簡(jiǎn)直就是無(wú)效的。分布式系統(tǒng)中诫肠,部分可用的情況太多了司澎,例如后端有兩個(gè)rs,而一個(gè)rs壞了栋豫,那么就會(huì)有百分之五十的請(qǐng)求失敗挤安。這種情況SLA怎么來(lái)計(jì)算?扣時(shí)間還是不扣呢丧鸯?

在分布式系統(tǒng)中蛤铜,一般使用請(qǐng)求的成功率來(lái)計(jì)算SLA,也就是

SLA=請(qǐng)求成功/(請(qǐng)求成功+請(qǐng)求失敗)

在使用這種計(jì)算方式的時(shí)候围肥,無(wú)論你是前端的web服務(wù)剿干,還是后端的存儲(chǔ)服務(wù),還是離線服務(wù)穆刻,都是可以很好的計(jì)算置尔。畢竟是一個(gè)可以量化的數(shù)據(jù)。在定義SLA的時(shí)候氢伟,順便可以定義出監(jiān)控的主要指標(biāo)榜轿,例如請(qǐng)求的延遲,吞吐量等朵锣。

在進(jìn)行定義這些關(guān)鍵性指標(biāo)的時(shí)候谬盐,也就是定義哪些請(qǐng)求成功,哪些請(qǐng)求失敗诚些,是有很大關(guān)系的飞傀,例如支付寶的核心功能是支付,如果支付功能可以泣刹,那么就滿足了大多數(shù)的高可用助析,而所謂的其他的一些附加功能,例如城市服務(wù)椅您,也影響不了多少人外冀,當(dāng)然, 也要看基數(shù)。

在提供服務(wù)的時(shí)候掀泳,服務(wù)可以分為兩種類型雪隧,一種類型是面對(duì)消費(fèi)者的服務(wù),一種是基礎(chǔ)設(shè)施服務(wù)员舵,例如微信就是面對(duì)消費(fèi)者的服務(wù)脑沿,而各種云平臺(tái)則是基礎(chǔ)設(shè)施服務(wù)。

當(dāng)面對(duì)消費(fèi)者服務(wù)的時(shí)候马僻,一般會(huì)有對(duì)應(yīng)的產(chǎn)品經(jīng)理庄拇,那么可以由產(chǎn)品經(jīng)理定義各種關(guān)鍵性的指標(biāo)來(lái)衡量一個(gè)服務(wù)的可用性,例如微信在定義的時(shí)候韭邓,可以使用發(fā)送消息的成功率措近;消費(fèi)者服務(wù),可以參考競(jìng)爭(zhēng)對(duì)手的可用性水平女淑;免費(fèi)的還是收費(fèi)的瞭郑;有沒有替代產(chǎn)品可以使用。在這個(gè)時(shí)候鸭你,其實(shí)還可以定義服務(wù)降級(jí)屈张,例如微信最常用的功能是發(fā)送消息和朋友圈擒权,這兩個(gè)服務(wù)的可用性可以定義為四個(gè)9,而對(duì)于所謂的搖一搖阁谆,附近等服務(wù)碳抄,可以定義低等級(jí)的可用性,例如兩個(gè)9笛厦,這種構(gòu)建方式纳鼎,可以很大程度上節(jié)省成本,畢竟物理服務(wù)器冗余才是提高可用性的唯一方式裳凸。

在消費(fèi)者服務(wù)類型中贱鄙,還需要注意每個(gè)請(qǐng)求的成敗后果是不一樣的,例如系統(tǒng)注冊(cè)姨谷,或者是一個(gè)信息發(fā)送失敗逗宁,系統(tǒng)注冊(cè)失敗,可能就不用這個(gè)系統(tǒng)了梦湘,而一個(gè)信息發(fā)送失敗瞎颗,用戶可能認(rèn)為是自己的網(wǎng)絡(luò)有問(wèn)題。捌议。哼拔。

在提供基礎(chǔ)設(shè)施服務(wù)的時(shí)候,一般分為兩個(gè)部分瓣颅,一個(gè)部分是直接提供給用戶使用的功能倦逐,例如提供VM訪問(wèn)服務(wù);一個(gè)部分是平臺(tái)的管控功能宫补,例如云平臺(tái)里面創(chuàng)建虛擬機(jī)檬姥,創(chuàng)建SLB等。這兩個(gè)的失敗是完全不一樣的粉怕,用戶的功能出了問(wèn)題健民,那么就是故障了,但是管控服務(wù)出現(xiàn)問(wèn)題贫贝,只要及時(shí)修好就行了秉犹,這種一般使用的評(píng)率很少,所以請(qǐng)求數(shù)量也不多稚晚。

亞馬遜的S3服務(wù)水平協(xié)議

可用性保證(Service Commitment )

保證“每月99.9%的正常運(yùn)行時(shí)間”凤优。S3 SLA保證一個(gè)月里所有以5分鐘為單位的時(shí)間片中,平均有99.9%是可用的蜈彼。SLA容許的最遭情況等于每月有40分鐘不可用。

服務(wù)補(bǔ)償

如果達(dá)不到SLA的承諾俺驶,Amazon會(huì)提供服務(wù)補(bǔ)償幸逆,如果達(dá)不到 99.9%的服務(wù)水平棍辕,那么Amazon將減免下個(gè)月10%的費(fèi)用。如果可用性下降到99.0%以下还绘,換算后相當(dāng)于一個(gè)月內(nèi)至少有將近7個(gè)小時(shí)無(wú)法服務(wù)楚昭, 那么Amazon將減免25%的費(fèi)用。

假設(shè)一個(gè)用戶存放了500G的數(shù)據(jù)拍顷。把500G數(shù)據(jù)放進(jìn)S3并且在一個(gè)月內(nèi)全部數(shù)據(jù)都使用10次的話抚太,總共的費(fèi)用大約是 $1000

如果發(fā)生5小時(shí)的故障昔案,那么該用戶將得到 $100 的退款尿贫。如果故障時(shí)間從7個(gè)小時(shí)到一整個(gè)月的話, 該用戶將得到 $250 的補(bǔ)償踏揣。

附:支付寶高可用性架構(gòu)演進(jìn)

應(yīng)用中間件技術(shù)架構(gòu)應(yīng)用:

展現(xiàn) SOFA-MVC (full stack)分布式 session安全框架 security SOFA-Mashup (component) A/B Test組件

協(xié)調(diào)/調(diào)度中心 (scheduler)

服務(wù)容器 組件集合(rule,jbpm,xts,cache,schedule) SOFA3 (SCA:bundle,service/reference,pub/sub,extension,sla) CloudEngine (servlet 3.0,drm,management,osgi) web Tomcat Datasource zds drm webservice jetty Apache/nginx (spdy,https)

配置中心 (confreg2.0)

應(yīng)用中間件平臺(tái)

協(xié)調(diào)中心 (zdipper,zookeeper)

分布式鎖 (dlslock)

JVM (JVMTI,JNI)

超時(shí)調(diào)度中心 (timeout)

參考資料

https://blog.csdn.net/daiyudong2020/article/details/50550471
https://blog.csdn.net/chdhust/article/details/74086776
https://blog.csdn.net/tm6znf87mdg7bo/article/details/83663392
https://blog.csdn.net/chenyong19870904/article/details/52986784
https://wenku.baidu.com/view/444baa0ace2f0066f433221e.html


Kotlin開發(fā)者社區(qū)

專注分享 Java庆亡、 Kotlin、Spring/Spring Boot捞稿、MySQL又谋、redis、neo4j娱局、NoSQL彰亥、Android、JavaScript衰齐、React任斋、Node、函數(shù)式編程娇斩、編程思想仁卷、"高可用,高性能犬第,高實(shí)時(shí)"大型分布式系統(tǒng)架構(gòu)設(shè)計(jì)主題锦积。

High availability, high performance, high real-time large-scale distributed system architecture design

分布式框架:Zookeeper歉嗓、分布式中間件框架等
分布式存儲(chǔ):GridFS丰介、FastDFS、TFS鉴分、MemCache哮幢、redis等
分布式數(shù)據(jù)庫(kù):Cobar、tddl志珍、Amoeba橙垢、Mycat
云計(jì)算、大數(shù)據(jù)伦糯、AI算法
虛擬化柜某、云原生技術(shù)
分布式計(jì)算框架:MapReduce嗽元、Hadoop、Storm喂击、Flink等
分布式通信機(jī)制:Dubbo剂癌、RPC調(diào)用、共享遠(yuǎn)程數(shù)據(jù)翰绊、消息隊(duì)列等
消息隊(duì)列MQ:Kafka佩谷、MetaQ,RocketMQ
怎樣打造高可用系統(tǒng):基于硬件监嗜、軟件中間件谐檀、系統(tǒng)架構(gòu)等一些典型方案的實(shí)現(xiàn):HAProxy、基于Corosync+Pacemaker的高可用集群套件中間件系統(tǒng)
Mycat架構(gòu)分布式演進(jìn)
大數(shù)據(jù)Join背后的難題:數(shù)據(jù)秤茅、網(wǎng)絡(luò)稚补、內(nèi)存和計(jì)算能力的矛盾和調(diào)和
Java分布式系統(tǒng)中的高性能難題:AIO,NIO框喳,Netty還是自己開發(fā)框架课幕?
高性能事件派發(fā)機(jī)制:線程池模型、Disruptor模型等等五垮。乍惊。。

合抱之木放仗,生于毫末润绎;九層之臺(tái),起于壘土诞挨;千里之行莉撇,始于足下。不積跬步惶傻,無(wú)以至千里棍郎;不積小流,無(wú)以成江河银室。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末涂佃,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子蜈敢,更是在濱河造成了極大的恐慌辜荠,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,265評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件抓狭,死亡現(xiàn)場(chǎng)離奇詭異伯病,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)否过,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,078評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門狱从,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)膨蛮,“玉大人,你說(shuō)我怎么就攤上這事季研。” “怎么了誉察?”我有些...
    開封第一講書人閱讀 156,852評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵与涡,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我持偏,道長(zhǎng)驼卖,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,408評(píng)論 1 283
  • 正文 為了忘掉前任鸿秆,我火速辦了婚禮酌畜,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘卿叽。我一直安慰自己桥胞,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,445評(píng)論 5 384
  • 文/花漫 我一把揭開白布考婴。 她就那樣靜靜地躺著贩虾,像睡著了一般。 火紅的嫁衣襯著肌膚如雪沥阱。 梳的紋絲不亂的頭發(fā)上缎罢,一...
    開封第一講書人閱讀 49,772評(píng)論 1 290
  • 那天,我揣著相機(jī)與錄音考杉,去河邊找鬼策精。 笑死,一個(gè)胖子當(dāng)著我的面吹牛崇棠,可吹牛的內(nèi)容都是我干的咽袜。 我是一名探鬼主播,決...
    沈念sama閱讀 38,921評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼易茬,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼酬蹋!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起抽莱,我...
    開封第一講書人閱讀 37,688評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤范抓,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后食铐,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體匕垫,經(jīng)...
    沈念sama閱讀 44,130評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,467評(píng)論 2 325
  • 正文 我和宋清朗相戀三年虐呻,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了象泵。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片寞秃。...
    茶點(diǎn)故事閱讀 38,617評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖偶惠,靈堂內(nèi)的尸體忽然破棺而出春寿,到底是詐尸還是另有隱情,我是刑警寧澤忽孽,帶...
    沈念sama閱讀 34,276評(píng)論 4 329
  • 正文 年R本政府宣布绑改,位于F島的核電站,受9級(jí)特大地震影響兄一,放射性物質(zhì)發(fā)生泄漏厘线。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,882評(píng)論 3 312
  • 文/蒙蒙 一出革、第九天 我趴在偏房一處隱蔽的房頂上張望造壮。 院中可真熱鬧,春花似錦骂束、人聲如沸耳璧。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,740評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)楞抡。三九已至,卻和暖如春析藕,著一層夾襖步出監(jiān)牢的瞬間召廷,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,967評(píng)論 1 265
  • 我被黑心中介騙來(lái)泰國(guó)打工账胧, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留竞慢,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,315評(píng)論 2 360
  • 正文 我出身青樓治泥,卻偏偏與公主長(zhǎng)得像筹煮,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子居夹,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,486評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容