- 「B站崩了」火遍互聯(lián)網(wǎng),背后是復(fù)雜而脆弱的企業(yè)IT架構(gòu)
- 2021年07月16日 來源:新浪財經(jīng)
提要:7月13日23時左右,B站主站、App、小程序均出現(xiàn)訪問故障,無法正常使用,頁面提示“正在玩命加載數(shù)據(jù)”。而B站的鄰居A站,以及晉江、豆瓣也出現(xiàn)不同程度的故障,加載顯示404、502等。
萬萬沒想到,B站崩了,讓全互聯(lián)網(wǎng)經(jīng)歷了一次深夜狂歡。
7月13日23時左右,B站主站、App、小程序均出現(xiàn)訪問故障,無法正常使用,頁面提示“正在玩命加載數(shù)據(jù)”。而B站的鄰居A站,以及晉江、豆瓣也出現(xiàn)不同程度的故障,加載顯示404、502等。
B站崩了,才讓大家發(fā)現(xiàn)原來“小破站”的流量如此驚人。上不了網(wǎng)站、沒得看視頻直播的“B站難民”沖向知乎、微博以及著名游戲網(wǎng)站NGA。“b站崩了”“陳睿”“豆瓣崩了”等詞迅速走紅,甚至連B站名梗“蒙古上單”也一同霸榜微博熱搜,傳遍全網(wǎng),頗為壯觀。
23時45分,B站網(wǎng)頁端和App才初步恢復(fù)正常訪問,但像直播、會員購等板塊,以及一些站內(nèi)互動、評論、投幣功能,還無法正常使用。
B站崩潰后,許多故障頁面截圖在網(wǎng)上流傳。但具體是什么導(dǎo)致服務(wù)器故障,多種說法迅速出現(xiàn)。不過,無論是最初的停電說,還是后面的B站大樓/上海云海服務(wù)器中心著火說,都被迅速辟謠。
上海消防對B站總部大樓著火一事辟謠
直到凌晨2點20分,B站正式發(fā)布聲明,表示因部分服務(wù)器機房發(fā)生故障,造成無法訪問,經(jīng)過排查修復(fù)后,現(xiàn)已陸續(xù)恢復(fù)正常。不過,更具體的原因是什么,B站還未披露。
服務(wù)器崩潰數(shù)小時,災(zāi)備沒做好?
企業(yè)IT架構(gòu)越來越復(fù)雜,這也意味著故障原因往往是系統(tǒng)性問題,難以單一歸因。此次B站崩潰,除了服務(wù)器出問題,補救的備份方案大概率也沒有快速應(yīng)用到位。
故障通常可從硬件故障和軟件故障兩方面來分析——硬件故障即是機房、服務(wù)器等物理因素;而軟件故障則有可能來自版本升級、代碼bug等帶來的影響。
盡管不同行業(yè)有差異,但大互聯(lián)網(wǎng)平臺的技術(shù)架構(gòu),核心組件基本不會少。最簡單的訪問路徑就是客戶端和網(wǎng)站直接交互,比如一個視頻訪問請求從客戶端發(fā)出,經(jīng)過一系列處理后到達(dá)B站的前端、后端服務(wù)器、分布式存儲等多個組件,B站處理完請求后再返回。
而當(dāng)晚的情況是,B站崩潰,網(wǎng)友們收到的頁面大多顯示502,基本可以確定是服務(wù)器故障導(dǎo)致。
但具體是哪些服務(wù)器故障,目前還不清楚。B站這般體量的視頻平臺,上云是肯定的,也都會采用公有云+私有云架構(gòu)。也就是說,出故障的服務(wù)器有可能在B站自己或托管的機房,也有可能在公有云服務(wù)商的機房。
若自家機房出問題,一個可能原因是,版本升級、網(wǎng)站維護(hù)失敗,導(dǎo)致用版本回滾緊急解決。若沒上云的剛好是核心業(yè)務(wù),還需要運維人員手動修復(fù),耗時就很長了。知乎答主“k8seasy”就認(rèn)為,B站核心業(yè)務(wù)恢復(fù)時間在30分鐘左右,并且?guī)缀?00%恢復(fù),說明應(yīng)是B站某個核心組件崩潰,導(dǎo)致核心服務(wù)不可用。有可能的原因是B站上線新版本時有bug,不可用后,緊急回滾到老版本也沒扛住訪問壓力,最后網(wǎng)站環(huán)境崩潰。
若公有云廠商出問題,那么同一個服務(wù)器集群服務(wù)的其他企業(yè),也會出現(xiàn)類似問題。但當(dāng)晚的A站、晉江、豆瓣等大流量app都很快恢復(fù)了服務(wù),故障程度和B站也不是同一個量級。再者,為B站提供云服務(wù)的廠商包括阿里云、騰訊云、京東云、華為云等,公有云廠商一起出問題的概率是極小的。
分析完原因,再來看補救措施。服務(wù)器崩潰后的第一道防線,是企業(yè)的容災(zāi)和備份,這能夠保證核心業(yè)務(wù)盡快恢復(fù),最大程度減少損失。
B站當(dāng)晚故障數(shù)小時也沒完全恢復(fù),顯然災(zāi)備起的作用不太大,這道防線沒能好好守住。
災(zāi)備等級一般可按同城/異地、備份中心數(shù)量等劃分等級高低,選擇不同備份方式(如熱備/冷備/溫備份,成本均不同),也會對恢復(fù)時間有所影響。一位云計算從業(yè)者對36氪表示:“B站這種體量的平臺,災(zāi)備肯定有做,但就是沒經(jīng)受住考驗。比如數(shù)據(jù)備了但機器沒備,或者機器備了但鏈路沒備,差一個環(huán)節(jié),就難以在短時間內(nèi)恢復(fù)。”
作為視頻直播平臺,B站對高可用/高并發(fā)的要求是很高的。企業(yè)災(zāi)備服務(wù)商、英方軟件市場總監(jiān)黃亮對36氪表示,高可用架構(gòu)主要有異地容災(zāi)、負(fù)載均衡兩種,此次故障很有可能是B站只重點做了負(fù)載均衡,但沒有做太多異地容災(zāi)。“當(dāng)前企業(yè)做負(fù)載均衡,通常是采用同城數(shù)據(jù)中心的架構(gòu),如在上海的同一個數(shù)據(jù)中心里進(jìn)行。”他表示。
災(zāi)備沒及時起作用,可能是出于成本考慮。黃亮表示,負(fù)載均衡對實時性要求高,如果要上異地災(zāi)備,成本是很高的。比如,A企業(yè)在上海有數(shù)據(jù)中心,同時在貴州設(shè)立異地災(zāi)備中心。當(dāng)上海機房宕機,貴州可以接管。對穩(wěn)定性要求較高的行業(yè),如銀行、醫(yī)院等,監(jiān)管會有強制要求,其他企業(yè)一般是量力而行。
脆弱的企業(yè)IT架構(gòu),未來要如何演變?
B站此次故障,從雖然恢復(fù)時間達(dá)數(shù)小時,但幸運的是,故障發(fā)生在深夜的流量低谷,網(wǎng)友們的助推則讓B站再次出圈:一個網(wǎng)站崩潰,其巨大流量竟能讓其他網(wǎng)站也跟著出現(xiàn)故障。
這讓市場看到了B站用戶可怕的沖浪能力。7月13日,B站股價經(jīng)歷短線走低,盤中一度漲幅收窄,最低至3.26%。截至收盤還能保持漲幅3.18%,報110.38美元/股。截至發(fā)稿,B站市值為417億美元。
類似這樣的宕機事件,突顯出當(dāng)下企業(yè)IT架構(gòu)的脆弱。隨著數(shù)字社會越來越成熟,企業(yè)IT架構(gòu)一環(huán)扣一環(huán),一個環(huán)節(jié)出現(xiàn)問題,就有可能一發(fā)而動全身,造成巨大損失。
信息安全問題也是防不勝防。2020年,微盟一核心運維員工對核心生產(chǎn)環(huán)境和數(shù)據(jù)進(jìn)行刪除,最后微盟公司花費超過2260萬元用于支付數(shù)據(jù)恢復(fù)、商務(wù)賠償、員工加班費用等。因刪庫事件,微盟股價跌幅超過8%,一夜損失將近11億元。而2019年3月,谷歌云、阿里云、騰訊云就相繼發(fā)生大規(guī)模宕機,騰訊云宕機的4小時內(nèi),僅騰訊游戲就損失高達(dá)千萬元。
企業(yè)安全是實戰(zhàn)出來的。經(jīng)過微盟刪庫一事后,恐怕當(dāng)前國內(nèi)企業(yè)不會再給運維人員如此核心的權(quán)限。阿里云也是在經(jīng)歷支付寶527光纖挖斷事件后,痛定思痛將可用性再提升一個數(shù)量級。
那么,如何考慮放在災(zāi)備中的運維成本?企業(yè)首先需要根據(jù)自身條件開始計算——哪些物理威脅或災(zāi)難企業(yè)無法承受,并對資產(chǎn)價值進(jìn)行分析,確定恢復(fù)的優(yōu)先級順序,確定災(zāi)備方案。
災(zāi)備演練也很重要。以B站事件為例,數(shù)據(jù)和系統(tǒng)的恢復(fù)進(jìn)度和災(zāi)備預(yù)案熟悉程度息息相關(guān)。黃亮表示,如銀行、證券、醫(yī)院等關(guān)鍵單位,基本定期做容災(zāi)演練,才能保證服務(wù)的穩(wěn)定性。隨著網(wǎng)絡(luò)安全法、數(shù)據(jù)安全法的進(jìn)一步推動實施,以后企業(yè)的IT架構(gòu)合規(guī)要求只會越來越嚴(yán),企業(yè)要想偷懶也不太可能了。
企業(yè)與各種故障和威脅搏斗的故事無止境。災(zāi)備一事,豐儉由人,本質(zhì)還是看公司如何算賬,愿意投入多少。B站崩了對各大企業(yè)的最大啟示,也就是把“重視企業(yè)IT安全”寫在明面上了。





