![]()
對(duì)于全球數(shù)以百萬(wàn)計(jì)的網(wǎng)站運(yùn)營(yíng)者與網(wǎng)民來(lái)說(shuō),本周的周二,注定又是一個(gè)難忘的一天。
如我們所見(jiàn)(在新聞上所見(jiàn)),在這一天的短短數(shù)小時(shí)內(nèi),包括X(原Twitter)、ChatGPT、Spotify等(海外)常用巨頭服務(wù)在內(nèi),海外互聯(lián)網(wǎng)領(lǐng)域幾乎陷入癱瘓。無(wú)論刷新多少次,映入眼前的都是同樣的“InternalServerError”報(bào)錯(cuò)頁(yè)面。但后來(lái)總結(jié)來(lái)看,這并不是一次外部攻擊導(dǎo)致的人為事故,而是一場(chǎng)由Cloudflare內(nèi)部引發(fā)的全球性技術(shù)故障。
事情的起因源于一次再常規(guī)不過(guò)的例行升級(jí)。正常情況下,每天,Cloudflare都會(huì)為其Bot管理模塊生成一個(gè)“特征文件”,用來(lái)幫助識(shí)別惡意機(jī)器人。這本是一項(xiàng)普通的后臺(tái)流程,但當(dāng)天文件的生成程序因?yàn)閿?shù)據(jù)庫(kù)權(quán)限調(diào)整出現(xiàn)異常,意外重復(fù)寫(xiě)入部分內(nèi)容,文件體積因此比平時(shí)大了整整一倍。這看上去可能只是一個(gè)細(xì)小的問(wèn)題,但對(duì)于系統(tǒng)層面來(lái)說(shuō),卻足以成為徹底擊穿代理層的導(dǎo)火索。
![]()
眼熟么?
按照Cloudflare的說(shuō)法,Cloudflare的網(wǎng)絡(luò)結(jié)構(gòu)決定了這種配置文件需要在全球所有邊緣節(jié)點(diǎn)同步。也就是說(shuō),一旦生成,它會(huì)被迅速推送至遍布世界的數(shù)千臺(tái)服務(wù)器。而當(dāng)這些節(jié)點(diǎn)接收到異常文件后,負(fù)責(zé)處理全部HTTP請(qǐng)求的核心程序沒(méi)能成功解析,直接崩潰。由于文件同步速度極快,多個(gè)國(guó)家、多個(gè)地區(qū)的節(jié)點(diǎn)幾乎在相近時(shí)刻出現(xiàn)同樣的故障,也就形成了用戶(hù)看到的“全球同步掉線”的奇怪場(chǎng)景。
更讓情況復(fù)雜的,是系統(tǒng)還會(huì)每隔幾分鐘自動(dòng)檢查更新。這意味著,舊的正確文件偶爾會(huì)讓部分節(jié)點(diǎn)短暫恢復(fù),但很快又會(huì)被新的錯(cuò)誤文件覆蓋,再次宕機(jī)。自然而然的,外界當(dāng)時(shí)看到的也就是網(wǎng)站“恢復(fù)—再報(bào)錯(cuò)—再恢復(fù)”的循環(huán)。
這一劇本直到工程師們最終追蹤到特征文件本身,并暫停了錯(cuò)誤文件的更新,情況才逐漸穩(wěn)定下來(lái)。當(dāng)天稍晚時(shí)間,Cloudflare開(kāi)始向全球節(jié)點(diǎn)重新推送正常版本,各地的代理服務(wù)陸續(xù)恢復(fù),錯(cuò)誤量在短時(shí)間內(nèi)迅速下降。不久后,Cloudflare宣布所有系統(tǒng)回到正常狀態(tài),但這次宕機(jī)的影響已經(jīng)被記錄為近期互聯(lián)網(wǎng)基礎(chǔ)設(shè)施事故中“規(guī)模最為罕見(jiàn)的之一”。
![]()
Cloudflare:“Cloudflare網(wǎng)絡(luò)處理的5xx錯(cuò)誤HTTP狀態(tài)代碼的數(shù)量。通常情況下,這個(gè)數(shù)值應(yīng)該非常低,而且在故障發(fā)生前也確實(shí)如此。”
作為全球互聯(lián)網(wǎng)基礎(chǔ)設(shè)施的重要組成部分,Cloudflare此次大規(guī)模宕機(jī)迅速引發(fā)了各界的關(guān)注和反響。而事發(fā)當(dāng)日,Cloudflare盤(pán)前股價(jià)也一度下跌超過(guò)2%。Cloudflare首席技術(shù)官Dane Knecht隨后在X上公開(kāi)致歉,承認(rèn)網(wǎng)絡(luò)在當(dāng)天出現(xiàn)嚴(yán)重問(wèn)題,“辜負(fù)了依賴(lài)我們的客戶(hù)和整個(gè)互聯(lián)網(wǎng)···”但回到事故本身,不難發(fā)現(xiàn),它之所以引發(fā)如此強(qiáng)烈的討論,很大程度上是因?yàn)橛诖私沂境龅氖且粋€(gè)越來(lái)越需要回應(yīng)的問(wèn)題。
![]()
你猜這張圖我們還能再看到幾遍?
當(dāng)下,越來(lái)越多的平臺(tái)將性能優(yōu)化、安全防護(hù)、訪問(wèn)控制等關(guān)鍵能力托付給行業(yè)巨頭——以Cloudflare本身為例,其承載著全球大約五分之一的互聯(lián)網(wǎng)流量。在這樣的結(jié)構(gòu)下,一旦核心代理層出現(xiàn)故障,它所依賴(lài)的多個(gè)產(chǎn)品鏈路會(huì)同時(shí)失效,而這里承載的成千上萬(wàn)家服務(wù)也會(huì)在極短時(shí)間內(nèi)同步感受到?jīng)_擊。
而這也正像我們?cè)谏蟼€(gè)月前剛看到的那樣。彼時(shí),互聯(lián)網(wǎng)的另一大基礎(chǔ)構(gòu)成——AWS也經(jīng)歷了一次的中斷。根據(jù)監(jiān)測(cè)平臺(tái)數(shù)據(jù),當(dāng)時(shí)共有超過(guò)兩千家服務(wù)受到影響,累計(jì)超過(guò)八百萬(wàn)條用戶(hù)報(bào)錯(cuò)被記錄。此次Cloudflare的事故,則再次讓““互聯(lián)網(wǎng)的命運(yùn),過(guò)度依附于少數(shù)幾家巨頭”這個(gè)問(wèn)題放置在了人們的面前。當(dāng)然,在這個(gè)面前的是這樣的一組數(shù)據(jù),就云計(jì)算領(lǐng)域而言,全球前三家巨頭(AWS、微軟Azure和谷歌云)掌控了超過(guò)其中近七成的基礎(chǔ)設(shè)施。
![]()
Cloudflare:我知道誰(shuí)在點(diǎn)我名
當(dāng)然,也正是基于這一點(diǎn),不難預(yù)料,無(wú)論是AWS還是Cloudflare,在此之后,我們顯然還會(huì)再度經(jīng)歷同樣的經(jīng)歷。但,當(dāng)這些這些故障越來(lái)越多的發(fā)生時(shí),這些問(wèn)題也注定會(huì)隨之變得越來(lái)越無(wú)法回避。
本文為動(dòng)點(diǎn)科技記者原創(chuàng)文章,未經(jīng)授權(quán)不得轉(zhuǎn)載,如需轉(zhuǎn)載或開(kāi)白請(qǐng)?jiān)诤笈_(tái)回復(fù)“轉(zhuǎn)載”。
- - - - - - - - END - - - - - - - -
互動(dòng)話(huà)題
你能接受“互聯(lián)網(wǎng)短暫消失”幾個(gè)小時(shí)嗎?
快來(lái)評(píng)論區(qū)留下你的觀點(diǎn)吧!
*想要獲取行業(yè)資訊、和志同道合的科技愛(ài)好者們分享心得,那就趕快掃碼添加“動(dòng)點(diǎn)君”加入群聊吧!群里更有不定期福利發(fā)放!
精彩好文值得推薦!
一鍵轉(zhuǎn)發(fā),戳個(gè)在看!
![]()
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺(tái)“網(wǎng)易號(hào)”用戶(hù)上傳并發(fā)布,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.