<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          昨晚,B 站崩了!

          共 2585字,需瀏覽 6分鐘

           ·

          2021-07-16 12:21

          昨晚 10 點多,我朋友圈突然熱鬧了起來,很多人都在轉(zhuǎn)發(fā) B 站無法訪問的消息,各種截圖滿天飛。


          不只是 B 站,包括 A 站和豆瓣在內(nèi)的產(chǎn)品都出現(xiàn)了無法訪問的情況。很多人說,睡前的快樂沒有了。


          很快,B 站崩了的消息登上了微博熱搜。


          也難怪,一個月活 2 億多的產(chǎn)品突然宕機半小時,正好又趕上晚上活躍高峰期,引起的關注度自然也特別高。


          凌晨 2 點多,B 站官方在微博發(fā)布了道歉聲明。



          在這個聲明中并沒有提及具體的事故原因,只說是因為部分服務器機房發(fā)生故障導致無法訪問。


          相對來說,這次宕機時間之長、影響范圍之大,估計怎么說也是個 P0 級別的線上事故了。


          這個夜晚,B 站的產(chǎn)品經(jīng)理、程序員、測試、運維、公關們估計都沒睡好覺。


          吃瓜歸吃瓜,不過我相信更多人還是會好奇這種大范圍的技術故障到底是怎么產(chǎn)生的?


          不過,我覺得首先可以排除掉的就是什么機房被燒了、程序員刪庫跑路之類的說法。


          像這種大型產(chǎn)品都不會把自家的服務器放在一個機房,數(shù)據(jù)也不會僅此一份,多地多機房多副本是常規(guī)操作,但凡一個機房出問題,會立馬切換到其他可用的服務上。


          即便是某一個云服務提供商出了問題,他們也一般會切換到其他可用的云服務上去。


          很多公司都會同時使用多個云服務商提供的服務,比如阿里云、騰訊云、金山云等等,怕的就是其中一家出毛病。


          截止到目前,官方依然沒有給出具體的事故原因。所以,只能基于看到的現(xiàn)象來做一些推測。


          首先,B 站、A站、豆瓣同時出現(xiàn)無法訪問的情況,說明問題出在他們所使用的公共技術服務上,比如云服務。而其中出問題概率最大的,或許就是 CDN。


          關于 CDN,我之前寫過一篇文章介紹過,簡單說就是用來應對高并發(fā)和大流量訪問的內(nèi)容分發(fā)系統(tǒng)。


          其次,B 站先是報出了 404 異常,然后又報出了 502 異常,這些狀態(tài)碼也反映了系統(tǒng)出現(xiàn)的一些可能性問題。


          以前我做技術時,在開發(fā)階段和改 bug 的時候就經(jīng)常遇到 404 或 502,但這類錯誤碼是一個合集,并不能因此定位到準確的具體問題。


          404 代表的是找不到可訪問的系統(tǒng)資源,比如網(wǎng)頁不存在、文件錯誤、接口 URL 異常等,但前提是服務可用。


          而 502 的出現(xiàn)意味著網(wǎng)關錯誤,可能是服務器異常導致的系統(tǒng)故障。


          簡單說,碰上 404 時說明系統(tǒng)還是可用的,只是其中一個功能失效了。碰上 502 則表示系統(tǒng)不可用了,崩掉了。


          回到前面說的,這次線上事故如果是因為第三方 CDN 服務商的問題,那使用他們服務的這些產(chǎn)品就會受到集體影響。


          CDN 失效,大量的網(wǎng)絡請求直接繞過它作用在應用服務器上,服務器請求量激增超過了自身的承載極限,于是開始啟動容災降級策略。


          所謂的「降級」,就是服務器根據(jù)策略設置進行的自我保護,原本能提供 100 分的服務,現(xiàn)在因為特殊情況降為只提供 80 分的服務,以確保自身能夠安全運行。


          按理說,B 站這樣的大型系統(tǒng)也會有這樣的機制,但不知道為啥沒起作用。


          可能 CDN 失效后大量的請求過來后直接把服務器干崩了,還沒等容災啟動,一個接一個,然后全崩了。


          當雪崩來臨時,沒有一臺服務器是無辜的。


          最后,在 A 站和豆瓣相繼恢復系統(tǒng)使用后,B 站仍然無法訪問,說明他們的內(nèi)部系統(tǒng)對異常處理和容災機制的差異。


          我看朋友圈有做技術的朋友轉(zhuǎn)了一篇 B 站的技術負責人曾經(jīng)做過的架構分享,其中提到 B 站的容災系統(tǒng)是自研的,并沒有直接使用第三方服務,或許這也是他們恢復較慢的可能原因。


          同樣從現(xiàn)象推測原因。


          11 點多的時候我打開 B 站的網(wǎng)頁,首頁陸續(xù)能刷出一些內(nèi)容來了,但這時候基本處于「只讀」狀態(tài),只能看,包括一些操作和登錄功能都沒法用。


          這可能是運維在恢復數(shù)據(jù)時的刻意控制,目的是防止恢復過程中因為數(shù)據(jù)寫入導致的數(shù)據(jù)紊亂。


          過了一會兒再刷新時,登錄狀態(tài)就出來了,且我還是處于登錄狀態(tài)。


          雖然我平時不怎么刷 B 站,但之前留下的搜索記錄和瀏覽行為也讓 B 站對我進行了用戶畫像,所以推薦的內(nèi)容基本都是和我感興趣的相關的。


          但這次打開的首頁內(nèi)容基本都是我不感興趣的,而且類型比較多。我也問了下朋友,他們說看到的內(nèi)容差不多。


          這說明了一個可能的原因,B 站的容災啟動了,但重啟恢復有一個過程,先確保整體可用是第一步。


          這時候,可能推薦系統(tǒng)的服務還沒恢復,所以大家看到的東西差不多,是公共池里的內(nèi)容,沒有個性化。


          又過了一段時間,當再次打開刷新時,推薦的內(nèi)容發(fā)生了變化,和之前正常推薦邏輯下的內(nèi)容基本差不多了。


          這說明,系統(tǒng)在恢復初期依然處于容災降級狀態(tài),之后才慢慢恢復其他服務。


          足以可見,技術系統(tǒng)是一個多么龐大且復雜的工程。我們看到的往往只是冰山一角,更多的復雜性都在看不到的背后。


          以上,只是對于現(xiàn)象的一個推測,不構成結論。再說,B 站官方大概率也不會公布真實的故障原因,即便說了,普通用戶也不理解。索性用機房服務器異常來給出解釋。


          包括在產(chǎn)品上的體現(xiàn),也只是提示服務器不可用或數(shù)據(jù)異常,并沒有把一些復雜的技術代碼和錯誤信息展示出來,這也是一種處理機制。


          通常,如果是在代碼層面出現(xiàn)的問題,系統(tǒng)報出的異常都是一堆別人看不懂的亂碼。


          程序員會根據(jù)產(chǎn)品經(jīng)理的定義把這些亂碼翻譯成用戶可理解的文案,比如密碼錯誤、服務器異常。


          但是,如果想找到異常的真實原因,光看產(chǎn)品表現(xiàn)層的文案提示是沒用的,還是得到技術層面去看。


          所以,出現(xiàn)這樣的問題,只要不是產(chǎn)品邏輯的錯誤,最忙最緊張的應該就是程序員和運維了。當然,還有測試。


          沒出事不可怕,線上事故最要命。


          真正體驗過一次處理線上事故的過程,才知道那種緊張而刺激的切身感受。


          B 站的兄弟們,辛苦了!


          ················· 唐韌出品 ·················

          安可時刻

          昨天京東普調(diào),從 14 薪逐步調(diào)整到 16 薪,沒想到朋友圈京東的朋友沒一個出來歡呼的。


          真是應了那句話,你沒錢的時候巴不得全世界知道,你有錢的時候巴不得全世界都不知道,哈哈!


          今天,與 64305 位讀者一起見證彼此成長
          后臺回復“w”,可加我個人微信


          推薦閱讀


          他的賬號,價值 6 個億!
          這些產(chǎn)品 bug,真是很難搞!


          瀏覽 55
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  国产一a毛一a毛A免费看 | 国产视频aaa | 91麻豆精品国产91久久久熟女 | 天堂网在线免费 | 天天干天天添 |