亚洲免费看av,亚洲欧美日本在线,日韩中文字幕国产精品,91天天在线,国产va免费精品观看精品老师,九一av,黄色一级电影免费观看

那些年,云廠商宕機(jī)教會(huì)我們的事
InfoQ 2018-06-29 10:25:55

北京時(shí)間 6 月 27 日下午,阿里云掛了。市場(chǎng)占有率 47.6% 的阿里云宕機(jī),影響的是中國互聯(lián)網(wǎng)的半壁江山。對(duì)此,坊間傳聞伴著吐槽聲起伏不斷,甚至有人聲稱此次事故是由兩個(gè)實(shí)習(xí)生造成。

事件發(fā)生后,阿里云在迅速人肉修復(fù)故障后,發(fā)表說明:

“對(duì)于這次故障,沒有借口,我們不能也不該出現(xiàn)這樣的失誤!我們將認(rèn)真復(fù)盤改進(jìn)自動(dòng)化運(yùn)維技術(shù)和發(fā)布驗(yàn)證流程,敬畏每一行代碼,敬畏每一份托付。”

云廠商宕機(jī)故障,這些年一直不是什么新聞

2017 年 2 月 28 日,云計(jì)算巨頭 AWS S3 故障,事件的起因是 AWS S3(云存儲(chǔ))團(tuán)隊(duì)在進(jìn)行調(diào)試時(shí)輸入了一條錯(cuò)誤指令,本應(yīng)該將少部分的 S3 計(jì)費(fèi)流程服務(wù)器移除,可是最終意外移除了大量服務(wù)器。被錯(cuò)誤移除的服務(wù)其中運(yùn)行著兩套 S3 的子系統(tǒng),從而導(dǎo)致 S3 不能正常工作,S3 API 處于不可用狀態(tài)。

由于 S3 負(fù)責(zé)存儲(chǔ)文件,為 AWS 體系中的核心組成部分,這導(dǎo)致北弗吉尼亞日(美國東一)服務(wù)區(qū)中,依賴于 S3 存儲(chǔ)服務(wù)的其他 AWS 的 S3 控制臺(tái)、Amazon 彈性計(jì)算云(簡稱 EC2)新實(shí)例啟動(dòng)、Amazon 彈性塊存儲(chǔ)(簡稱 EBS)分卷(限于需要讀取 S3 快照的數(shù)據(jù))以及 AWS Lambda 均受到影響。

2017 年 3 月 22 日,微軟云服務(wù)宕機(jī)。Outlook、 Hotmail、 OneDrive、 Skype 和 Xbox Live 都出現(xiàn)了網(wǎng)絡(luò)故障,全球用戶都無法登錄。英國海岸和美國海岸城市的 Outlook 郵箱系統(tǒng)的用戶受到的影響特別嚴(yán)重,同樣悲慘的還有西歐與美國海岸線的美國 OneDrive 用戶,西歐和巴西的 Skype 用戶,及 Xbox 的英國、美國、西歐用戶。Azure 用戶的一天也不好過,一大批工程師無法登錄系統(tǒng)。這不是微軟最近第一次出現(xiàn)這種問題,上次是 3 月 7 日。

2015 年 6 月 6 日,QingCloud 廣東 1 區(qū)全部硬件設(shè)備因遭遇雷暴天氣引發(fā)電力故障,造成 QingCloud 官網(wǎng)及控制臺(tái)短時(shí)無法訪問、部署于 GD1 的用戶業(yè)務(wù)暫時(shí)不可用。在業(yè)務(wù)恢復(fù)后,青云方面披露了合作運(yùn)營商針對(duì)事故的調(diào)查原因:

直擊雷導(dǎo)致電力系統(tǒng)出現(xiàn)瞬時(shí)浪涌,UPS 啟動(dòng)自我保護(hù),從而釋放電流導(dǎo)致瞬間斷電;

雖然機(jī)房配備了四級(jí)防雷,但主要是防止感應(yīng)雷,對(duì)于此次直擊雷,機(jī)房完全沒有招架之力。

2014 年 11 月 2 日,騰訊云服務(wù)器出現(xiàn)了六分鐘的訪問故障。騰訊云平臺(tái)部方面表示,此次訪問故障主要是上海和廣州機(jī)房的服務(wù)器出現(xiàn)故障,機(jī)房網(wǎng)絡(luò)出口抖動(dòng)造成的,而網(wǎng)絡(luò)抖動(dòng)是源于運(yùn)營商網(wǎng)絡(luò)信道阻塞,導(dǎo)致用戶連接服務(wù)器出現(xiàn)丟包等現(xiàn)象。“這是網(wǎng)絡(luò)上游的問題,并非機(jī)房本身硬件故障,所以無法避免該情況的發(fā)生。”云平臺(tái)部方面負(fù)責(zé)人如是說。

對(duì)于吃瓜群眾們來說,看完熱鬧了,要看會(huì)什么門道呢?

縱觀以上云廠商宕機(jī)案例,有的是天災(zāi)(機(jī)房被雷劈了),有的是人禍(誤刪除操作),但可以肯定的是:宕機(jī)這事兒,預(yù)計(jì)在很長的一段時(shí)間里都無法避免。

以 AWS S3 故障為例。InfoQ 整合了三位技術(shù)專家陳皓、陳天、Nick Kephart 給出的思考整理如下:

1、要注意Error Handling

當(dāng)問題出現(xiàn)時(shí),一個(gè)普通的 S3 GET 返回什么:

所以AWS 告訴你Internal Error 了。

從 error handling 的角度,陳天認(rèn)為在寫代碼的時(shí)候都應(yīng)該捕捉這個(gè)異常,然后做合適的錯(cuò)誤處理。很遺憾的是,S3 這樣的服務(wù)是如此基礎(chǔ),就像互聯(lián)網(wǎng)的水和電一樣,大家默認(rèn)為它永遠(yuǎn)不會(huì)出錯(cuò)。因此,好多工程師干脆不做錯(cuò)誤處理。

除了代碼編寫層面的處理,當(dāng)云服務(wù)商的宕機(jī)發(fā)生時(shí),盡量控制它影響面。像 Trello連 landing page 都一并掛掉實(shí)在不可取,因?yàn)槠鸫a S3 影響不到的頁面,如 landing page、用戶注冊(cè) / 登錄頁面應(yīng)該還保持正常服務(wù);而像 Quora的服務(wù),其實(shí)是可以準(zhǔn)備一個(gè)靜態(tài)化的鏡像,一旦出問題,起碼讓讀者可以無障礙地閱讀。

2、盡可能地把動(dòng)態(tài)內(nèi)容緩存起來,甚至靜態(tài)化

Redis cache、Nginx cache、HAProxy、CDN 都是把內(nèi)容緩存甚至靜態(tài)化的一些手段。陳天認(rèn)為:盡管多級(jí)緩存維護(hù)起來是個(gè)麻煩,但當(dāng)?shù)讓臃?wù)出現(xiàn)問題時(shí),它們就是難得的戰(zhàn)略緩沖區(qū)。cache 為你爭取到的半個(gè)小時(shí)到幾個(gè)小時(shí)幾乎是續(xù)命的靈芝,它能幫你撐過最艱難的時(shí)刻(這次 S3 宕機(jī)前后大概 4 小時(shí),最嚴(yán)重的時(shí)候是 11點(diǎn)到1點(diǎn)),相對(duì)從容地尋找解決方案,緊急發(fā)布新的頁面,或者遷移服務(wù),把損失降到最低。

否則,只能像這次事件中的諸多公司一樣,聽天由命,雙手合十祈禱 AWS 的工程師給力些解決問題。

3、云用戶應(yīng)檢查核心依賴關(guān)系,提升關(guān)鍵性服務(wù)的冗余水平

S3是多種Amazon服務(wù)的核心組成部分之一。無論是利用其進(jìn)行簡單文件存儲(chǔ)、對(duì)象存儲(chǔ)抑或是用于存儲(chǔ)網(wǎng)站或者應(yīng)用程序中的內(nèi)容,其間復(fù)雜的依賴性都會(huì)引發(fā)級(jí)聯(lián)效應(yīng)。S3能影響到的組件包括用戶會(huì)話管理、媒體存儲(chǔ)、內(nèi)容存儲(chǔ)、用戶數(shù)據(jù)、第三方對(duì)象和自動(dòng)化機(jī)制等。

在Thousandeyes公司的Nick Kephart看來,云用戶應(yīng)檢查核心依賴關(guān)系,提升關(guān)鍵性服務(wù)的冗余水平。AWS的系統(tǒng)在構(gòu)建當(dāng)中具備冗余特性,能夠?qū)崿F(xiàn)跨數(shù)據(jù)中心自動(dòng)復(fù)制存儲(chǔ)對(duì)象與文件。而作為另一種冗余層,云用戶需要利用額外AWS服務(wù)區(qū)或者其它云服務(wù)供應(yīng)商以徹底避免此類事故;不過這會(huì)增加大量管理復(fù)雜性與成本支出,因?yàn)榭绛h(huán)境間的數(shù)據(jù)同步工作需要由云用戶負(fù)責(zé)打理。大多數(shù)企業(yè)并沒有選擇上述選項(xiàng),可是單純的數(shù)據(jù)備份在數(shù)小時(shí)的短周期內(nèi)并不能發(fā)揮作用。

雖然面向云環(huán)境的遷移確實(shí)能夠在穩(wěn)定性與彈性方面為企業(yè)帶來巨大幫助,但是各種不易被發(fā)現(xiàn)的依賴性也因此增加,單一服務(wù)失敗可能引發(fā)大規(guī)模服務(wù)癱瘓。Nick建議云用戶的開發(fā)與運(yùn)營團(tuán)隊(duì)審查與云服務(wù)供應(yīng)商間的核心依賴關(guān)系,制定策略以監(jiān)控各項(xiàng)服務(wù)可能受到的影響,同時(shí)調(diào)整現(xiàn)有架構(gòu)以提升關(guān)鍵性用戶的冗余水平。

4、故障演習(xí)很重要

對(duì)于這次事件,陳皓在其博客中表示美國東一區(qū)作為老牌的服務(wù)區(qū)擁有海量對(duì)象,能在數(shù)小時(shí)恢復(fù)已屬不易,并且幸運(yùn)的是沒有丟失重要數(shù)據(jù)。

陳皓重申了其觀點(diǎn):一個(gè)系統(tǒng)的高可用的因素很多,不僅僅只是系統(tǒng)架構(gòu),更重要的是——高可用運(yùn)維。并且,他認(rèn)為對(duì)于高可用的運(yùn)維,平時(shí)的故障演習(xí)是很重要的。AWS 平時(shí)應(yīng)該沒有相應(yīng)的故障演習(xí),所以導(dǎo)致要么長期不出故障,一出就出個(gè)大的讓你措手不及。

比如,F(xiàn)acebook每個(gè)季度扔個(gè)骰子,隨機(jī)關(guān)掉一個(gè)IDC一天。Netflix 有 Chaos Monkey,路透每年也會(huì)做一次大規(guī)模的故障演練——災(zāi)難演習(xí)。

在陳天看來,這種容錯(cuò)的操練適合大一些且工程團(tuán)隊(duì)有余力的公司。為什么Netflix 重度使用 AWS,卻在歷次 AWS 的宕機(jī)中毫發(fā)無損?其實(shí)Netflix之前也深深地被云的「不穩(wěn)定性」刺痛過,而如今他們的 Chaos Monkey(之后發(fā)展為 simian army)服務(wù),會(huì)隨時(shí)隨地模擬各種宕機(jī)情況,擾亂生產(chǎn)環(huán)境。比如說對(duì)于此次事件的演練,可以配置 simian army 去擾亂 S3:simianarmy.chaos.fails3.enabled = true。

這樣,這群討厭的猴子就會(huì)在不知情的情況下隨機(jī)把服務(wù)器的 /etc/hosts 改掉,讓所有的 S3 API 不可用。如此就可以體驗(yàn)平時(shí)很難遇到的 S3 不可訪問的場(chǎng)景,進(jìn)而找到相應(yīng)的對(duì)策(注意:請(qǐng)?jiān)?staging 環(huán)境下謹(jǐn)慎嘗試)。

5、處理危機(jī)的方式能看出一個(gè)公司的高度

陳皓表示非常喜歡GitLab、AWS這樣向大眾公開其故障及處理流程,哪怕起因是一個(gè)低級(jí)的人為錯(cuò)誤,也不會(huì)掩蓋、不會(huì)文過飾非。

如果你是一個(gè)技術(shù)公司,你就會(huì)更多的相信技術(shù)而不是管理。相信技術(shù)會(huì)用技術(shù)來解決問題,相信管理,那就只會(huì)有制度、流程和價(jià)值觀來解決問題。沒有人愿意看到問題的發(fā)生;但是問題出現(xiàn)后,最重要的解決反思并從中汲取教訓(xùn):這難道不是技術(shù)人應(yīng)有的傲骨嗎?

你覺得呢?

1
歡迎關(guān)注商界網(wǎng)公眾號(hào)(微信號(hào):shangjiexinmeiti)
標(biāo)簽教會(huì)  廠商  

評(píng)論

登錄后參與評(píng)論

全部評(píng)論(11)

廣告
廣告
廣告
商界APP
  • 最新最熱
    行業(yè)資訊

  • 訂閱欄目
    效率閱讀

  • 音頻新聞
    通勤最愛

廣告