「B站崩了」火遍網路,背後是複雜而脆弱的企業IT架構

「B站崩了」火遍網路,背後是複雜而脆弱的企業IT架構

最少15分鐘延遲,股票資訊由第三方資訊供應商提供

B站崩壞,6000萬「B站難民」在線狂歡。

萬萬沒想到,B站崩了,讓全網路經歷了一次深夜狂歡。

7月13日23時左右,B站主站、App、小程序均出現訪問故障,無法正常使用,頁面提示「正在玩命加載數據」。而B站的鄰居A站,以及晉江、豆瓣也出現不同程度的故障,加載顯示404、502等。

B站崩了,才讓大家發現原來「小破站」的流量如此驚人。上不了網站、沒得看視頻直播的「B站難民」衝向知乎、微博以及著名遊戲網站NGA。「b站崩了」「陳睿」「豆瓣崩了」等詞迅速走紅,甚至連B站名梗「蒙古上單」也一同霸榜微博熱搜,傳遍全網,頗為壯觀。

(微博)

23時45分,B站網頁端和App才初步恢復正常訪問,但像直播、會員購等板塊,以及一些站內互動、評論、投幣功能,還無法正常使用。

B站崩潰後,許多故障頁面截圖在網上流傳。但具體是什麼導致服務器故障,多種說法迅速出現。不過,無論是最初的停電說,還是後面的B站大樓/上海雲海服務器中心着火說,都被迅速闢謠。

上海消防對B站總部大樓着火一事闢謠(微博)

直到凌晨2點20分,B站正式發布聲明,表示因部分服務器機房發生故障,造成無法訪問,經過排查修復後,現已陸續恢復正常。不過,更具體的原因是什麼,B站還未披露。

服務器崩潰數小時,災備沒做好?

企業IT架構越來越複雜,這也意味着故障原因往往是系統性問題,難以單一歸因。此次B站崩潰,除了服務器出問題,補救的備份方案大概率也沒有快速應用到位。

故障通常可從硬件故障和軟件故障兩方面來分析——硬件故障即是機房、服務器等物理因素;而軟件故障則有可能來自版本升級、代碼bug等帶來的影響。

儘管不同行業有差異,但大網路平台的技術架構,核心組件基本不會少。最簡單的訪問路徑就是客户端和網站直接交互,比如一個視頻訪問請求從客户端發出,經過一系列處理後到達B站的前端、後端服務器、分佈式存儲等多個組件,B站處理完請求後再返回。

而當晚的情況是,B站崩潰,網友們收到的頁面大多顯示502,基本可以確定是服務器故障導致。

但具體是哪些服務器故障,目前還不清楚。B站這般體量的視頻平台,上雲是肯定的,也都會採用公有云+私有云架構。也就是說,出故障的服務器有可能在B站自己或託管的機房,也有可能在公有云服務商的機房。

若自家機房出問題,一個可能原因是,版本升級、網站維護失敗,導致用版本回滾緊急解決。若沒上雲的剛好是核心業務,還需要運維人員手動修復,耗時就很長了。知乎答主「k8seasy」就認為,B站核心業務恢復時間在30分鐘左右,並且幾乎100%恢復,說明應是B站某個核心組件崩潰,導致核心服務不可用。有可能的原因是B站上線新版本時有bug,不可用後,緊急回滾到老版本也沒扛住訪問壓力,最後網站環境崩潰。

若公有云廠商出問題,那麼同一個服務器集群服務的其他企業,也會出現類似問題。但當晚的A站、晉江、豆瓣等大流量app都很快恢復了服務,故障程度和B站也不是同一個量級。再者,為B站提供雲服務的廠商包括阿里雲、騰訊雲、京東雲、華為雲等,公有云廠商一起出問題的概率是極小的。

分析完原因,再來看補救措施。服務器崩潰後的第一道防線,是企業的容災和備份,這能夠保證核心業務儘快恢復,最大程度減少損失。

B站當晚故障數小時也沒完全恢復,顯然災備起的作用不太大,這道防線沒能好好守住。

災備等級一般可按同城/異地、備份中心數量等劃分等級高低,選擇不同備份方式(如熱備/冷備/温備份,成本均不同),也會對恢復時間有所影響。一位雲計算從業者對36氪表示:「B站這種體量的平台,災備肯定有做,但就是沒經受住考驗。比如數據備了但機器沒備,或者機器備了但鏈路沒備,差一個環節,就難以在短時間內恢復。」

作為視頻直播平台,B站對高可用/高併發的要求是很高的。企業災備服務商、英方軟件市場總監黃亮對36氪表示,高可用架構主要有異地容災、負載均衡兩種,此次故障很有可能是B站只重點做了負載均衡,但沒有做太多異地容災。「當前企業做負載均衡,通常是採用同城數據中心的架構,如在上海的同一個數據中心裏進行。」他表示。

災備沒及時起作用,可能是出於成本考慮。黃亮表示,負載均衡對實時性要求高,如果要上異地災備,成本是很高的。比如,A企業在上海有數據中心,同時在貴州設立異地災備中心。當上海機房宕機,貴州可以接管。對穩定性要求較高的行業,如銀行、醫院等,監管會有強制要求,其他企業一般是量力而行。

脆弱的企業IT架構,未來要如何演變?

B站此次故障,從雖然恢復時間達數小時,但幸運的是,故障發生在深夜的流量低谷,網友們的助推則讓B站再次出圈:一個網站崩潰,其巨大流量竟能讓其他網站也跟着出現故障。

這讓市場看到了B站用户可怕的衝浪能力。7月13日,B站股價經歷短線走低,盤中一度漲幅收窄,最低至3.26%。截至收盤還能保持漲幅3.18%,報110.38美元/股。截至發稿,B站市值為417億美元。

類似這樣的宕機事件,突顯出當下企業IT架構的脆弱。隨着數字社會越來越成熟,企業IT架構一環扣一環,一個環節出現問題,就有可能一發而動全身,造成巨大損失。

訊息安全問題也是防不勝防。2020年,微盟一核心運維員工對核心生產環境和數據進行刪除,最後微盟公司花費超過2260萬元用於支付數據恢復、商務賠償、員工加班費用等。因刪庫事件,微盟股價跌幅超過8%,一夜損失將近11億元。而2019年3月,谷歌雲、阿里雲、騰訊雲就相繼發生大規模宕機,騰訊雲宕機的4小時內,僅騰訊遊戲就損失高達千萬元。

企業安全是實戰出來的。經過微盟刪庫一事後,恐怕當前國內企業不會再給運維人員如此核心的權限。阿里雲也是在經歷支付寶527光纖挖斷事件後,痛定思痛將可用性再提升一個數量級。

那麼,如何考慮放在災備中的運維成本?企業首先需要根據自身條件開始計算——哪些物理威脅或災難企業無法承受,並對資產價值進行分析,確定恢復的優先級順序,確定災備方案。

災備演練也很重要。以B站事件為例,數據和系統的恢復進度和災備預案熟悉程度息息相關。黃亮表示,如銀行、證券、醫院等關鍵單位,基本定期做容災演練,才能保證服務的穩定性。隨着網絡安全法、數據安全法的進一步推動實施,以後企業的IT架構合規要求只會越來越嚴,企業要想偷懶也不太可能了。

企業與各種故障和威脅搏鬥的故事無止境。災備一事,豐儉由人,本質還是看公司如何算賬,願意投入多少。B站崩了對各大企業的最大啟示,也就是把「重視企業IT安全」寫在明面上了。

本文由《香港01》提供

於本流動應用程式(App)或服務內所刊的專欄、股評人、分析師之文章、評論、或分析,相關內容屬該作者的個人意見,並不代表《香港01》立場。

巨子 ICON - 財經股票資訊及專家分析
宏觀環球經濟實況
掌握盛世企業脈絡,
以氣度展現格局
立即下載APP內打開
分享此文章
最少15分鐘延遲,股票資訊由第三方資訊供應商提供

想更快獲得精選股票行情?

立即下載「巨子 ICON」應用程式

巨子 ICON - 財經股票資訊及專家分析