- 「B站崩了」火遍互聯網,背后是復雜而脆弱的企業IT架構
- 2021年07月16日來源:新浪財經
提要:7月13日23時左右,B站主站、App、小程序均出現訪問故障,無法正常使用,頁面提示“正在玩命加載數據”。而B站的鄰居A站,以及晉江、豆瓣也出現不同程度的故障,加載顯示404、502等。
萬萬沒想到,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安全”寫在明面上了。
版權及免責聲明:
1. 任何單位或個人認為南方企業新聞網的內容可能涉嫌侵犯其合法權益,應及時向南方企業新聞網書面反饋,并提供相關證明材料和理由,本網站在收到上述文件并審核后,會采取相應處理措施。
2. 南方企業新聞網對于任何包含、經由鏈接、下載或其它途徑所獲得的有關本網站的任何內容、信息或廣告,不聲明或保證其正確性或可靠性。用戶自行承擔使用本網站的風險。
3. 如因版權和其它問題需要同本網聯系的,請在文章刊發后30日內進行。聯系電話:01083834755 郵箱:news@senn.com.cn