Facebook史上最严重宕机:互联网企业是时候重新审视架构了?
作者 | 核子可樂 褚杏娟
扎克伯格個人財富一日蒸發逾 60 億美元。??
剛被指責“利用放大仇恨言論的算法謀取利益”沒多久,Facebook 再次陷入危機。
美國東部時間 10 月 4 日上午 11 點 39 分左右,美國社交媒體 Facebook、Instagram 和即時通訊軟件 WhatsApp 出現大規模宕機,此次宕機長達近 7 個小時,刷新了 Facebook 自 2008 年以來的最長宕機時長。
美國互聯網監控網站 DownDectors 的監控情況顯示,Facebook 在歐洲、美洲、大洋洲幾乎是完全下線,在亞洲的日本、韓國、印度等國也無法訪問。據悉,WhatsApp 和 Facebook Messenger 兩款“微信”類即時通信產品,分別在全球范圍擁有 20 億用戶和 13 億用戶,社交平臺 Instagram 用戶數也達到了 10 億用戶。
除了讓數十億用戶陷入困境之外, Facebook 服務中斷還使其員工無法使用內部工具相互交流。Facebook 的電子郵件和工具都是企業內部管理的,Facebook 很多員工也無法正常工作。
Facebook 首席技術官 Mike Schroepfer 在推特上道歉
一條指令引發的“血案”
Facebook 表示,這次故障的根本原因是例行維護工作發出了一條糟糕的指令,結果導致其 DNS 服務器不可使用,切斷了 Facebook 整個骨干網絡與數據中心之間的連接。
所謂骨干網,是 Facebook 為一切計算設施構建而成的全局連接網絡,由長達數萬英里的光纖線纜組成,跨越全球并將各地的數據中心連接了起來。Facebook 基礎設施副總裁 Santosh Janardhan 在文章中解釋道,數據中心主要有兩種形式,一種是存放著數百萬臺數據存儲與高強度計算負載運行設備的“巨大的建筑”,另一種則屬于小型設備,通過骨干網絡接入整體互聯網并構建起 Facebook 社交平臺的方方面面。
當用戶打開應用并加載摘要或消息時,應用提出的數據請求會由當前設備傳輸至最近的設施,之后再直接通過骨干網絡與更大的數據中心進行通信。應用所需要的信息將在這些數據中心內進行檢索與處理,再把結果通過網絡發送回用戶手機上。
維護基礎設施的日常工作非常繁重。工程師們還經常需要讓部分骨干網絡離線以實施維護——包括修復光纖線路、擴大容量或者更新路由器自身軟件等等。而這也是此次宕機事件的原因所在。
Janardhan 表示,在一項日常維護工作中,工程師們發出一條用于評估全球骨干網容量可用性的指令,但意外切斷了骨干網絡中的所有連接,這實質上就是斷開了 Facebook 全球數據中心之間的連接。不幸的是,Facebook 的系統在設計上能夠審查此類指令以防止出現錯誤,但其功能只是發出錯誤提示,并不能真正阻止指令執行。
這次意外,導致 Facebook 的數據中心與互聯網之間的服務器連接完全斷開,由此帶來了一系列連鎖效應讓情況進一步惡化。
在此次宕機事件中,由于整個骨干網都已陷入癱瘓,因此各 DNS 服務器位置均上報連接狀態問題并撤回邊界網關協議(BGP)通告。最終結果是,Facebook 的 DNS 服務器雖然仍在運行但卻無法正常訪問,導致其他互聯網用戶也無法正常接入其服務器。
響應 DNS 查詢是小型設施執行的一項重要任務。DNS 可以稱之為互聯網的地址簿,能夠將用戶在瀏覽器中輸入的簡單網絡名稱轉換為特定的服務器 IP 地址。這些轉換查詢由 Facebook 的權威名稱服務器給出應答,而這些服務器本身就占用著最眾所周知的 IP 地址。接下來,這些服務器再通過邊界網關協議(BGP)向互聯網的其余部分發布通告。為了確保運行可靠性,如果 DNS 服務器自身無法與數據中心通信,則所有 BGP 通告都將被禁用,表示當前網絡連接狀態不正確。
簡單來說,Facebook 拿走了告訴世界計算機如何找到其各種在線資產的地圖。結果,當在 Web 瀏覽器中鍵入 Facebook.com 時,瀏覽器不知道在哪里可以找到 Facebook.com,因此返回到了錯誤頁面。
為什么無法及時修復
為什么這次故障持續了近 7 個小時之久呢?
Janardhan 表示,工程師們在修復這一故障時,面臨著兩個巨大的障礙:首先,Facebook 的工程師們無法通過正常方式訪問自己的 Facebook 數據中心,因為這時候骨干網已經出現了故障;其次,DNS 沒有響應致使 Facebook 無法使用調查及解決宕機問題的常規內部工具。
骨干網與帶外網絡訪問均出現故障,這意味著工程師只能親自前往現場進行調試并嘗試重啟系統。但這需要時間,因為各處設施都遵循高水平的物理與系統安全保護政策。
錯誤的更新阻止了 Facebook 員工(其中大多數是遠程工作)恢復和更改系統。與此同時,那些可以物理訪問 Facebook 大樓的人無法訪問 Facebook 的內部工具。
“任何人員都很難進入,而且一旦進入并獲得物理訪問能力,這些硬件與路由器的設計也很難得到修改。因此,需要更多的時間將工程師們引導進機房,并為他們提供在服務器上工作所需要的安全訪問協議。只有這樣,我們才能確認問題并讓骨干網重新上線?!盝anardhan 寫道。
有專家估計,Facebook、Instagram、WhatsApp 全球服務中斷一小時將給全球經濟造成 1.6 億美元的損失。同時,Facebook 當日股價盤中暴跌 6%,扎克伯格個人財富一日蒸發逾 60 億美元。
屋漏偏逢連夜雨。在 Facebook 全球網絡服務中斷期間,據稱在黑客論壇上有超過 15 億 Facebook 用戶的數據被出售。但 Facebook 方面否認了這次用戶數據泄露與服務中斷有關。
“我們要明確表示,這次宕機背后沒有惡意活動,其根本原因是我們端的錯誤配置更改。我們也沒有證據表明用戶數據因此次停機而受到損害?!盝anardhan 說道。
架構缺陷
美國東部時間下午 6 點 33 分,Facebook 發推文稱其應用程序和服務已開始恢復運行。隨著各數據中心區域中的骨干網連接的恢復,一切都隨之復原。但問題還沒有真正結束。
一次性對所有服務全部重啟會帶來新的隱患,因為流量激增很可能導致新一輪崩潰。個別數據中心還上報稱宕機導致設施耗電量下降了幾十兆瓦,而突然上線帶來的用電量暴增很可能給電氣系統、緩存等各類裝置帶來意外沖擊。
Janardhan 表示,雖然 Facebook 一直在做“風暴”演習,對服務、數據中心乃至整個區域進行脫機,并針對一切相關基礎設施與軟件開展壓力測試以模擬主要系統故障,但并未演練過全球骨干網絡脫機的狀況,后續會找可行性方法作出應對。
據監測互聯網流量和故障的思科 ThousandEyes 的產品營銷主管 Angelique Medina 表示,這起事件暴露了 Facebook 架構的一個缺點:如果本身出現 DNS 故障,又沒有后備 DNS,就可能會出現長時間的故障,“所以我認為,這件事帶來的一大經驗教訓就是要有冗余 DNS?!?/p>
Medina 表示,一套更穩健的架構將擁有雙 DNS 服務,那樣一個 DNS 服務可以支援另一個。據 Medina 聲稱,比如說,亞馬遜(其 AWS 提供 DNS 服務)為其 DNS 使用兩項外部服務:Dyn 和 UltraDNS。
同時,這次宕機事件也讓身處反壟斷調查的 Facebook 雪上加霜。
美國國會眾議院成員 Alexandria Ocasio-Cortez 表示,Facebook 爆發大規模宕機事故,這凸顯出該公司在全球通信和其他服務領域的壟斷地位。其在推特上表示,Facebook 周一發生的大規模宕機事故是對該公司壟斷全球通訊和其他服務的一次提醒,再次表明 Facebook 應該被分拆。
有道無術,術可成;有術無道,止于術
歡迎大家關注Java之道公眾號
好文章,我在看??
新人創作打卡挑戰賽發博客就能抽獎!定制產品紅包拿不停!總結
以上是生活随笔為你收集整理的Facebook史上最严重宕机:互联网企业是时候重新审视架构了?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 台湾一公司因停电,让员工手写代码...
- 下一篇: python orm_python的or