昨天一個(gè)網(wǎng)站的更新 讓外國(guó)人集體斷網(wǎng)6小時(shí)
差友們,昨天站昨晚你們網(wǎng)速足夠快的個(gè)網(wǎng)更新國(guó)人話,應(yīng)該已經(jīng)見(jiàn)證了一場(chǎng)互聯(lián)網(wǎng)大戲——
Cloudflare 崩了。讓外
這可不是集體一般的崩,是斷網(wǎng)那種能讓半個(gè)地球互聯(lián)網(wǎng)一起陪葬的崩。
剛開(kāi)始大伙兒還一臉懵逼,昨天站有人發(fā)現(xiàn)推特登不上了,個(gè)網(wǎng)更新國(guó)人好不容易登上去了吧,讓外啥也刷不出來(lái)。集體
同樣的斷網(wǎng),ChatGPT 也寄了,昨天站設(shè)計(jì)工具 Canva 也打不開(kāi),個(gè)網(wǎng)更新國(guó)人國(guó)外兄弟正在打 LOL 和瓦羅蘭特的讓外排位呢,直接連不上服務(wù)器了。集體。斷網(wǎng)。
更離譜的是,當(dāng)所有人想去 Down Detector 查查到底哪個(gè)網(wǎng)站崩了的時(shí)候,發(fā)現(xiàn) Down Detector 也崩了。
好好好,想看熱鬧,結(jié)果自己成了熱鬧。
差評(píng)君昨天也親身經(jīng)歷了這場(chǎng)災(zāi)難。
我正在 Product Hunt 給個(gè) App 投票呢(因?yàn)橥读私o我打五折),結(jié)果死活點(diǎn)不動(dòng)。后來(lái)刷朋友圈吧,又發(fā)現(xiàn)之前給大家推薦的網(wǎng)頁(yè)紅警也進(jìn)不去了。
這一切的始作俑者,就是 Cloudflare。
大部分掛掉的網(wǎng)頁(yè)都出現(xiàn)了 Error 500,清清楚楚寫(xiě)著 Cloudflare 炸了。
只能說(shuō)一家公司打個(gè)噴嚏,全世界感冒。
眼看社交媒體不能逛,ChatGPT 不能聊,游戲不能打,全球網(wǎng)友開(kāi)始了集體哀嚎。
有人哭訴:就因?yàn)?Cloudflare,我的 AI 女友都聯(lián)系不上了。。。
——怎么和美國(guó)人形容 Cloudflare 崩了有多嚴(yán)重?
——你們沒(méi)漢堡吃了(*點(diǎn)餐機(jī)崩了)
還有人截了一張動(dòng)圖,展示了 Cloudflare 服務(wù)中斷后的互聯(lián)網(wǎng)世界。。。
甚至有人發(fā)現(xiàn)了新大陸,Cloudflare 崩了之后我的生活全是藍(lán)天白云。
就在這一片哀嚎聲中,有個(gè)叫 MrShibolet 的用戶發(fā)的推特,突然火了:
Cloudflare 入職第一天,推送了點(diǎn)更新,下午準(zhǔn)備休息咯??
配圖里的他站在 Cloudflare 前臺(tái)前,擺著不太聰明的姿勢(shì),雙手扶著衣邊,倔強(qiáng)的嘴角微微上揚(yáng)。
這條推特一下傳開(kāi)了,60 萬(wàn)次閱讀,所有人都在說(shuō):兄弟第一天上班就是最后一天。。。
但其實(shí),這哥們是整活的。
上個(gè)月 AWS 崩的時(shí)候,他也發(fā)過(guò)一模一樣的推文,這次無(wú)非是把名字換成了 Cloudflare。
行了,現(xiàn)在你應(yīng)該知道昨晚的互聯(lián)網(wǎng)有多熱鬧了。。。
到這肯定有人好奇,Cloudflare 到底是個(gè)啥?憑啥它崩了,這么多網(wǎng)站都得跟著炸?
簡(jiǎn)單說(shuō),Cloudflare 就像是互聯(lián)網(wǎng)的物業(yè)公司,負(fù)責(zé)網(wǎng)站的安全、加速、流量管理。
主要業(yè)務(wù)包括 CDN(內(nèi)容分發(fā)網(wǎng)絡(luò))、DDoS 防護(hù)、Web 應(yīng)用防火墻、DNS 服務(wù)等等。
正常情況下,你訪問(wèn)一個(gè)網(wǎng)站,就是你的瀏覽器直接連到網(wǎng)站服務(wù)器。但如果網(wǎng)站用了 Cloudflare,流程就變成了:
你的瀏覽器 → Cloudflare → 網(wǎng)站服務(wù)器 → Cloudflare → 返回給你。
你說(shuō)繞這么大圈子圖個(gè)啥呢?
圖的是:又快又穩(wěn)。
Cloudflare 在全球鋪了 330 多個(gè)數(shù)據(jù)中心,當(dāng)你訪問(wèn)用了 Cloudflare 的網(wǎng)站時(shí),它會(huì)自動(dòng)把你導(dǎo)向離你最近的那個(gè)數(shù)據(jù)中心,這樣訪問(wèn)速度會(huì)快很多。
這就好比你網(wǎng)購(gòu),商家從本地倉(cāng)發(fā)貨,當(dāng)然比外地的總倉(cāng)要快很多。
除了快,Cloudflare 還給網(wǎng)站當(dāng)保鏢,防 DDoS 攻擊、管理機(jī)器人爬蟲(chóng)、緩存內(nèi)容減輕源服務(wù)器壓力。
說(shuō)白了,網(wǎng)站用了 Cloudflare,就相當(dāng)于小區(qū)請(qǐng)了一個(gè)五星級(jí)物業(yè)。
有外人來(lái)了,他先站在門(mén)口驗(yàn)個(gè)身份,填個(gè)來(lái)訪記錄,把可疑的人攔在外面,確認(rèn)是正經(jīng)訪客了再給他們套個(gè)五速鞋,加速訪問(wèn)。
但問(wèn)題也來(lái)了——
一旦這個(gè)物業(yè)系統(tǒng)崩了,保安集體腦子宕機(jī),那所有人都進(jìn)不了小區(qū)——
想訪問(wèn)網(wǎng)站的人,全被 Cloudflare 攔在了門(mén)外。
按理說(shuō),一個(gè)搞互聯(lián)網(wǎng)基礎(chǔ)設(shè)施的公司,不應(yīng)該輕易崩掉。
可一旦它崩了,那就是真正的牽一發(fā)動(dòng)全身,崩一屁臭整屋。
所以,什么情況下會(huì)崩?
Cloudflare 自己發(fā)了個(gè)事故報(bào)告,我看完了只有一個(gè)感覺(jué):這也能崩?
咱簡(jiǎn)單聊一下。
Cloudflare 有個(gè)功能叫 Bot Management(機(jī)器人管理),它不光能識(shí)別出惡意機(jī)器人 bot,還能給每個(gè)訪問(wèn)者打分。
網(wǎng)站管理員可以自己定規(guī)矩:你這訪客素質(zhì)得到多少分,才配來(lái)我家玩。
比如電商網(wǎng)站可能設(shè)置 70 分以上才能下單,防止搶購(gòu)機(jī)器人;新聞網(wǎng)站估計(jì) 30 分就行,畢竟得讓搜索引擎爬蟲(chóng)進(jìn)來(lái)。
這個(gè)打分系統(tǒng)需要一個(gè)特征文件,里面記錄了各種判斷標(biāo)準(zhǔn),一般有 60 種。
訪問(wèn)速度異??欤繛g覽器信息很奇怪?扣分!
IP 地址很可疑?行為模式像爬蟲(chóng)?扣分!
那這個(gè)文件是怎么生成的呢?
其實(shí)很簡(jiǎn)單,系統(tǒng)每隔 5 分鐘就會(huì)向后臺(tái)數(shù)據(jù)庫(kù)喊一嗓子:“喂,把最新的 Bot 特征清單發(fā)我一份!”
這樣頻繁的更新,可以確保應(yīng)對(duì)最新的威脅。
本來(lái)這套一問(wèn)一答的流程跑得穩(wěn)穩(wěn)當(dāng)當(dāng)。
但在 11 月 18 號(hào)上午 11 點(diǎn)(UTC 時(shí)間,下同),工程師對(duì)數(shù)據(jù)庫(kù)搞了一波權(quán)限微調(diào),直接把數(shù)據(jù)庫(kù)搞精神分裂了。
首先,咱們要理解一下 Cloudflare 那個(gè)名叫 ClickHouse 的數(shù)據(jù)庫(kù)架構(gòu),它是專門(mén)處理海量數(shù)據(jù)的。
另外 Cloudflare 的數(shù)據(jù)量是非常大,一臺(tái)服務(wù)器根本塞不下。所以,他們被迫搞了個(gè)分店模式(學(xué)名叫分片存儲(chǔ))。
你可以把 Cloudflare 的數(shù)據(jù)庫(kù)想象成一家連鎖書(shū)店,在北上廣都有倉(cāng)庫(kù)。
前臺(tái)總管(代號(hào) Default): 它坐在總部辦公室,手里只拿一張索引目錄。它不存真書(shū),只負(fù)責(zé)告訴你書(shū)在哪兒。平時(shí)系統(tǒng)來(lái)查數(shù),都是直接問(wèn)它。
各地分倉(cāng)庫(kù)(代號(hào) r0): 這些是分布在北京、上海、廣州等地的倉(cāng)庫(kù),真正的書(shū)(數(shù)據(jù))都在這兒堆著。
原本的流程非常絲滑。
系統(tǒng)喊一嗓子:“給我一份 Bot 特征清單!” 前臺(tái)總管(Default) 微微一笑,遞出一張單子:“給,一共 60 個(gè)特征。”
特征 1: 訪問(wèn)速度
特征 2: IP 地址
特征 3: 瀏覽器類型
。。。
系統(tǒng)接單,一切正常。
但在 18 號(hào)一波權(quán)限調(diào)整后,把原本指向前臺(tái)總管的單線電話,改成了一個(gè)連接全公司的大喇叭。
這時(shí)候,系統(tǒng)再喊那句老話:“給我一份 Bot 特征清單!”,問(wèn)題就出現(xiàn)了。
因?yàn)闆](méi)指名道姓,對(duì)面徹底亂套,所有人都在搶答:
前臺(tái)總管:“給,這是 60 個(gè)特征!”
北京分倉(cāng)庫(kù)(r0-分片 1):“俺也一樣!這是 60 個(gè)特征!”
上海分倉(cāng)庫(kù)(r0-分片 2):“巧了!我也有一份 60 個(gè)特征!”
廣州分倉(cāng)庫(kù)(r0-分片 3):“俺也一樣!”
一堆分倉(cāng)庫(kù)沖上來(lái)對(duì)著你的耳朵瘋狂復(fù)讀,原本只有 60 行的特征清單,瞬間被復(fù)制成了幾百行。
尷尬的是,Cloudflare 在設(shè)計(jì)系統(tǒng)時(shí),為了性能考慮,給特征文件設(shè)了個(gè)上限:最多 200 個(gè)特征。
他們想著平時(shí)也就 60 多個(gè),撐死 100 個(gè),200 怎么著也夠用了。
誰(shuí)能想到這幫哥們一復(fù)讀,數(shù)據(jù)量原地起飛,瞬間沖破 200 大關(guān)。
系統(tǒng)一看到這清單,當(dāng)場(chǎng)兩眼一黑,崩潰不干了。
這還沒(méi)完,更騷的來(lái)了。
這個(gè)崩潰它不是一直崩,而是仰臥起坐的崩。
因?yàn)?Cloudflare 數(shù)據(jù)庫(kù)集群的更新,是分批進(jìn)行的。有些節(jié)點(diǎn)數(shù)據(jù)庫(kù)更新了,有的還是老版本。
所以系統(tǒng)每 5 分鐘進(jìn)來(lái)抓一個(gè)數(shù)據(jù)庫(kù)問(wèn)話,都相當(dāng)于一次開(kāi)盲盒。
運(yùn)氣好 → 碰到老版本 → 總管答復(fù) → 60 條特征數(shù)據(jù) → 網(wǎng)站恢復(fù)了。
運(yùn)氣背 → 碰到新版本 → 一群人答復(fù) → 幾百條重復(fù)數(shù)據(jù) → 網(wǎng)站又崩了。。。
這就是為啥一開(kāi)始在用戶眼里,這些網(wǎng)站時(shí)好時(shí)壞。
上一秒還在罵娘,下一秒突然刷出來(lái)了;剛想上推特學(xué)習(xí),看到一半又卡了。
這張 GIF 更傳神了
Cloudflare 的工程師一開(kāi)始也蒙圈,看著流量忽高忽低、網(wǎng)站時(shí)好時(shí)壞,第一反應(yīng)是:完了,是不是又被 DDoS 攻擊了?
畢竟前段時(shí)間才剛擋下一個(gè) 7.3Tbps 的超級(jí)攻擊,這種癥狀太像攻擊流量的波動(dòng)了。
更巧的是,連他們自己的狀態(tài)頁(yè)也崩了(后來(lái)發(fā)現(xiàn)純屬巧合),搞得工程師們一度懷疑:這是有人連我們的狀態(tài)頁(yè)一起攻擊??!
在嘗試了限流、切換路由等各種操作后,他們終于發(fā)現(xiàn)了是自己人在背刺。
于是 14:24,他們趕緊停止自動(dòng)生成新配置文件,手動(dòng)翻出一個(gè)之前能正常工作的舊版本,測(cè)試確認(rèn)沒(méi)問(wèn)題,然后推送到全球所有服務(wù)器,大部分服務(wù)開(kāi)始恢復(fù)。
最終 17:06,所有下游服務(wù)逐步重啟完成,清理掉之前的錯(cuò)誤狀態(tài),宕機(jī)正式結(jié)束。
整個(gè)過(guò)程持續(xù)了將近 6 個(gè)小時(shí)。。。
Cloudflare 在官方事故報(bào)告里承認(rèn)了自己的錯(cuò)誤,并承諾會(huì)加強(qiáng)配置文件檢查、審查所有模塊的容錯(cuò)能力,具體細(xì)節(jié)差評(píng)君就不展開(kāi)了。
這些措施聽(tīng)起來(lái)都挺合理,但每次大廠宕機(jī)后都會(huì)發(fā)類似的保證書(shū)。
上個(gè)月 AWS 崩了,這個(gè)月 Cloudflare 崩了,過(guò)段時(shí)間說(shuō)不定又輪到誰(shuí)。
對(duì)于大多數(shù)普通用戶來(lái)說(shuō),昨天這場(chǎng)宕機(jī)可能就是“網(wǎng)站打不開(kāi)了,等等就好”。但對(duì)于那些嚴(yán)重依賴在線服務(wù)的企業(yè)來(lái)說(shuō),這是真金白銀的損失。
上個(gè)月 AWS 的宕機(jī)影響了 60 個(gè)國(guó)家 1700 多萬(wàn)用戶 ,導(dǎo)致 3500 多家公司業(yè)務(wù)中斷,經(jīng)濟(jì)損失每小時(shí)超過(guò) 7500 萬(wàn)美元。
這次 Cloudflare 宕機(jī) 6 小時(shí),損失恐怕也少不了。
用戶們可能什么都做不了,開(kāi)發(fā)者可以考慮多云部署、備用方案,但成本和復(fù)雜度都會(huì)大大增加,小公司根本玩不起。
咱們就只能期待這些基礎(chǔ)設(shè)施公司真的能從每次事故中吸取教訓(xùn)。
畢竟整個(gè)互聯(lián)網(wǎng)就是建立在極少數(shù)基礎(chǔ)設(shè)施公司之上,它就像一座空中樓閣,看起來(lái)宏偉無(wú)比,但地基只有那么幾根柱子。
哪根柱子晃一晃,整座樓都得跟著顫。
-
摩爾線程上市在即 董事長(zhǎng)張建中稱最早2027年實(shí)現(xiàn)盈利衛(wèi)星直擊四川阿壩紅旗特大橋垮塌:130米長(zhǎng)的引橋不見(jiàn)了女子爆改公攤電梯廳涮火鍋引爭(zhēng)議 網(wǎng)友認(rèn)為有安全隱患女子爆改公攤電梯廳涮火鍋引爭(zhēng)議 網(wǎng)友認(rèn)為有安全隱患女子奔喪退票被索要“火化證明” 去哪兒網(wǎng)回應(yīng)國(guó)臺(tái)辦回應(yīng)美對(duì)臺(tái)軍售:慎之又慎處理臺(tái)灣問(wèn)題特朗普:將起訴BBC,索賠10億到50億美元(粵港澳全運(yùn)會(huì))江蘇女足獲十五運(yùn)會(huì)女足成年組金牌(粵港澳全運(yùn)會(huì))盤(pán)點(diǎn)十五運(yùn)十大新星2026年中國(guó)—上海合作組織冰雪體育示范區(qū)國(guó)際友好城市羽毛球邀請(qǐng)賽開(kāi)賽
下一篇:產(chǎn)學(xué)融合新成果!海爾空調(diào)12篇技術(shù)論文經(jīng)驗(yàn)證獲評(píng)優(yōu)秀
- ·臨時(shí)身份證明能有多尷尬 很多人已經(jīng)“社死”
- ·御寒“神器”電加熱衣走紅 專家提醒:注意搭配的充電寶是否有3C認(rèn)證
- ·一網(wǎng)約車司機(jī)把方向盤(pán)當(dāng)提款機(jī) 半年撞車42次!團(tuán)伙騙保120多萬(wàn)
- ·中國(guó)團(tuán)隊(duì)研發(fā)一秒“冰火淬煉”工藝 成功制備晶圓級(jí)高性能儲(chǔ)能薄膜
- ·紫龍游戲回應(yīng)“實(shí)習(xí)生出差抽中顯卡要上交” :與公司無(wú)關(guān) 已報(bào)警
- ·整整10年了!NVIDIA Shield TV居然還在更新
- ·御寒“神器”電加熱衣走紅 專家提醒:注意搭配的充電寶是否有3C認(rèn)證
- ·短視頻刷多了AI也會(huì)變蠢!“年度最令人不安的論文”
- ·終結(jié)電動(dòng)車冬天成電動(dòng)爹的難題!上汽全固態(tài)電池2027年量產(chǎn)交付
- ·衛(wèi)星直擊四川阿壩紅旗特大橋垮塌:130米長(zhǎng)的引橋不見(jiàn)了
- ·全運(yùn)史上首個(gè)跨境馬拉松!“絲滑通關(guān)”是如何煉成的?
- ·比亞迪在貴州村GT殺瘋!騰勢(shì)Z9GT原廠無(wú)改裝 上演瘋狂極限漂移
- ·小米之家重返法國(guó)!巴黎首店正式開(kāi)業(yè)
- ·俄羅斯彼爾姆邊疆區(qū)交通事故致7人死亡15人受傷
- ·新能源起火自燃 旁邊的寶馬車主慌了:挪車發(fā)現(xiàn)小電瓶沒(méi)電
- ·變色龍360°視野秘密被破解:螺旋狀視神經(jīng)是關(guān)鍵
- ·小米之家重返法國(guó)!巴黎首店正式開(kāi)業(yè)
- ·多家中國(guó)航司:符合條件的涉日機(jī)票可免費(fèi)退改
- ·新能源起火自燃 旁邊的寶馬車主慌了:挪車發(fā)現(xiàn)小電瓶沒(méi)電
- ·“飛魚(yú)”何詩(shī)蓓摘下香港隊(duì)第二枚全運(yùn)會(huì)游泳金牌
- ·小雪節(jié)氣的打開(kāi)方式:為啥此時(shí)要腌菜?
- ·晶采觀察丨三個(gè)關(guān)鍵詞!從全運(yùn)會(huì)讀懂體育強(qiáng)國(guó)之“強(qiáng)”
- ·報(bào)告顯示:上海、杭州、蘇州、南京、寧波在長(zhǎng)三角城市中“最休閑”
- ·1萬(wàn)美刀的RTX RPO 6000專業(yè)顯卡PCIe接口損壞變磚!維修幾率為零
- ·托卡耶夫會(huì)見(jiàn)帕什尼揚(yáng) 哈亞關(guān)系提升至戰(zhàn)略伙伴水平
- ·價(jià)格大亂 多款新品延后發(fā)布 專家:內(nèi)存漲價(jià)將持續(xù)十年!
- ·2025廣州車展:豆包大模型規(guī)?;宪? 新車搭載量行業(yè)第一
- ·“春雨賦智 共筑未來(lái)” AMD高校春雨計(jì)劃在京啟動(dòng),攜手生態(tài)鏈以AI賦能教育新生態(tài)
- ·(粵港澳全運(yùn)會(huì))田徑名將林雨薇勉勵(lì)小師弟快速成長(zhǎng)
- ·PC玩家災(zāi)難!三星宣布內(nèi)存漲價(jià)60%:硬盤(pán)、顯卡都貴了 DIY裝機(jī)成本將暴漲
- ·被攝影師起訴侵權(quán)!視覺(jué)中國(guó)公開(kāi)致歉:涉案作品已下架
- ·日本米價(jià)又刷新記錄了:5公斤新米均價(jià)超230元
- ·2015《神奇四俠》主演談電影失?。耗硞€(gè)大人物搞砸一切
- ·高交會(huì)吹響機(jī)器人“集合號(hào)”
- ·“撤回發(fā)言”!日本民眾在首相官邸前抗議高市涉臺(tái)言論
- ·2026年中國(guó)—上海合作組織冰雪體育示范區(qū)國(guó)際友好城市羽毛球邀請(qǐng)賽開(kāi)賽
