避免云服務(wù)失效導(dǎo)致的癱瘓

責(zé)任編輯:xdong

2012-07-08 10:01:27

摘自:InfoQ 博

日前,又一 AWS 服務(wù)的失效沖擊了幾大網(wǎng)站及其服務(wù)。如何才能避免癱瘓??jī)H為伸縮進(jìn)行架構(gòu)還不夠,還需為災(zāi)備進(jìn)行架構(gòu)。

日前,又一 AWS 服務(wù)的失效沖擊了幾大網(wǎng)站及其服務(wù)。如何才能避免癱瘓??jī)H為伸縮進(jìn)行架構(gòu)還不夠,還需為災(zāi)備進(jìn)行架構(gòu)。

根據(jù) AWS 服務(wù)健康儀表板,Amazon 東區(qū)(北弗吉尼亞區(qū))AZ 的一組云服務(wù)——EC2、EMR、RDS 和彈性 Beanstalk 失效,時(shí)間大約從六月 29 日下午7:25起,至六月 30 日下午 3 時(shí)止。該失效影響了許多公司及其服務(wù)和網(wǎng)站,其中有 Netflix、Instagram、Pinterest 和 Herokua。據(jù) Amazon 報(bào)道,罪魁禍?zhǔn)资?ldquo;由橫掃北弗吉尼亞地區(qū)的大面積電暴引起的”電力事件,上周五晚間一場(chǎng)暴風(fēng)雨襲擊了美國(guó)東部地區(qū),導(dǎo)致13人喪生,三百萬(wàn)人口被停電。

除了電力設(shè)施的波動(dòng)之外,一次巨大的電壓脈沖襲擊了兩大計(jì)算中心,迫使它們切換到發(fā)電機(jī)供電模式,但是其中一個(gè)數(shù)據(jù)中心的發(fā)電機(jī)未成功運(yùn)行,導(dǎo)致了相應(yīng)數(shù)據(jù)中心在耗盡 UPS 之后停電。電力很快就得到恢復(fù),但是將服務(wù)恢復(fù)至所有功能完好卻需要長(zhǎng)得多的時(shí)間。Inmar 的架構(gòu)副總裁 Mike Kavis解釋了 需要這么長(zhǎng)時(shí)間的原因:“事實(shí)上,雖然 Amazon 的備份電源切換進(jìn)來(lái),但是并非所有的計(jì)算資源得到成功災(zāi)備。其結(jié)果是有一組虛擬服務(wù)被踢下線,直到 AWS 恢復(fù)它們?yōu)橹?。用戶(譯注:AWS 的用戶)對(duì)于這一情況的應(yīng)對(duì)措施決定了其應(yīng)用是癱瘓還是保持彈性。許多網(wǎng)站癱瘓了。”

考慮到這類事件對(duì)于理解如何避免癱瘓的重要性。這次 AWS 的電力事故之后,Kavis 在其博文中說(shuō),他的公司自 2009 年起經(jīng)歷過(guò) 5 次 AWS 失效,但是他們的服務(wù)從未宕機(jī)過(guò)。原因是他們使用了多個(gè) Zone 和 Region。

Amazon 的每個(gè) Region 的 SLA 可達(dá)到 99.95%。在同一區(qū)域里從未發(fā)生過(guò)多個(gè) Zone 同時(shí)失敗,也從未出現(xiàn)過(guò)多個(gè) Region 同時(shí)失敗的情況。本質(zhì)上,他們提供了計(jì)算資源的 100% 正常運(yùn)行時(shí)間(uptime)。只不過(guò)這取決于我們?nèi)绾渭軜?gòu)系統(tǒng)以利用 Zone 和 Region 的優(yōu)勢(shì)……

我們假設(shè)平臺(tái)中的每個(gè)服務(wù)器和服務(wù)都可能在某個(gè)時(shí)間點(diǎn)失敗,所以設(shè)計(jì)出多條通路,使之能在多個(gè) Zone 的冗余計(jì)算資源上繼續(xù)處理交易。換言之,我們假定區(qū)域內(nèi)的 Zone 可能會(huì)失效,所以將平臺(tái)設(shè)計(jì)得不依賴于單個(gè) Zone。

但是,多個(gè) Zone 也不夠,Kavis 說(shuō):

在這些失效中,我注意到一個(gè)模式,即 AWS 的 RDS 服務(wù)(將數(shù)據(jù)庫(kù)管理過(guò)程自動(dòng)化的服務(wù))似乎在每次 Amzon 出現(xiàn)問(wèn)題時(shí)都會(huì)失效……

事實(shí)上,我們手動(dòng)管理我們的 MySQL 數(shù)據(jù)庫(kù)才是我們?cè)谶@些失效中保持彈性的主要原因之一。如果我們依賴于 RDS,我們也不會(huì)那么幸運(yùn)。這是否意味著 AWS 客戶不該使用 RDS 呢?不,我們?nèi)匀挥盟鼘?shí)現(xiàn)一些無(wú)需極端 SLA 的功能并提供與各銷售點(diǎn)系統(tǒng)的實(shí)時(shí)連接。

Kavis 提到,上次 AWS 失效所襲擊的一些公司有著“目前看到的最吸引人、最先進(jìn)的高可用環(huán)境的架構(gòu)”。但是,他們?yōu)榱松炜s性犧牲了正常運(yùn)行時(shí)間(uptime):

無(wú) SLA 要求的免費(fèi)社交媒體網(wǎng)站就可能會(huì)把更多的時(shí)間花在支持上百萬(wàn)并發(fā)用戶的伸縮性上,同時(shí)會(huì)面臨一至兩個(gè)小時(shí)宕機(jī)的風(fēng)險(xiǎn)。對(duì)于他們而言,把精力花在處理突發(fā)訪 問(wèn)量比關(guān)注不太容易發(fā)生的 AWS 失效更有價(jià)值。畢竟沒(méi)有人會(huì)因?yàn)闊o(wú)法向 Facebook 傳照片而死掉。

其結(jié)論是:若要實(shí)現(xiàn)永遠(yuǎn)可用,就要為災(zāi)備進(jìn)行架構(gòu),而不僅僅為伸縮性架構(gòu)。正如 Kavis 所言,“我們需要理解的是,弗吉尼亞地區(qū)的許多公司自建的數(shù)據(jù)中心也癱瘓了,而且仍然處于癱瘓中。發(fā)生了電力故障。云端和本地的數(shù)據(jù)中心都癱瘓了。最終一 切都癱瘓了。正常運(yùn)行時(shí)間(uptime)的秘密在于你如何在設(shè)計(jì)時(shí)考慮這些失效。”

鏈接已復(fù)制,快去分享吧

企業(yè)網(wǎng)版權(quán)所有?2010-2024 京ICP備09108050號(hào)-6京公網(wǎng)安備 11010502049343號(hào)