微博如何做到1小時增加一千臺伺服器應對鹿晗戀情帶來的流量暴增

壹佰案例發表於2017-10-11

10月8日中午12點,鹿晗和關曉彤宣佈戀情,年近30的我並不關心小鮮肉們的分分合合,但是作為壹佰案例這個軟體研發行業自媒體的小編,我更關注因此引發的微博當機事件。

enter image description here

鹿晗公佈戀情的微博獲得462884次轉發,986409條評論,25666617個點贊,再加上一時間輿論四起,各個明星大號都動起來了,雖然還沒有看到微博公佈訪問資料,但想想也是很可怕的一次伺服器衝擊,很不幸微博伺服器當機了,微部落格戶端無法正常重新整理,評論多個頁面無法正常顯示…… 但是,一個小時之後,一切恢復正常,微博暱稱“來去之間”的使用者發微博稱,剛加了1千臺伺服器。

enter image description here

那麼問題來了,為什麼阿里雙十一都不會當機,微博會被一場戀情搞崩潰?出現問題之後又是如何在1小時內解決問題,增加了一千臺伺服器呢?

首先,微博為什麼會當機

事實上,鹿晗事件並不是微博第一次出問題,從很久以前文章馬伊琍的週一見,再到後來出軌隊、吸毒隊,再到寶寶事件、郭敬明事件、薛之謙事件,每次出現大的熱點,微博的伺服器就會受到一些影響,隨之,是微博股價的上漲。 那為什麼微博就不能應對高併發呢?阿里雙十一那麼大流量,也沒看見當機呀! 阿里每年雙十一的高併發是可預見性的,提前會進行購買頻寬資源、增加伺服器資源、進行異地容災等等準備工作。 而微博不可能為了不可預見的熱點事件來準備應對高併發的資源,畢竟頻寬和伺服器都意味著運維成本。平時增加了伺服器資源而又用不上,導致機器空載,也是一種浪費。 實際上,經過這麼多次熱點事件,微博應對突然的高併發是有非常多的經驗的,就像這次能夠1個小時解決問題。

其次,微博如何能夠在1個小時內增加一千臺伺服器?

要知道,鹿晗宣佈戀愛的那天還處於假期,大多數工程師被堵在返程路上或者剛出完午飯,就算臨時召回也並不那麼順利。 有一個段子說微博工程師當天結婚,丟下新娘跑去處理程式,直到岳父來喊喝酒。假期並不能保持隨時的工作狀態,而值班人員的應急處理能力真的要看運氣。

enter image description here

那麼,微博如何快速解決問題呢?

微博的技術團隊在最近兩年建設完成了一套基於Docker的全自動化運維平臺,具備半小時擴容1000臺公有云伺服器的能力,並完成了微博主要業務的改造覆蓋。 以2017年春晚為例,不到一天完成近5000臺伺服器的創新和部署上線。

第三,微博DCP自動化運維繫統的保障思路

新浪微博技術專家,同時也是混合雲DCP(Docker Cloud Platform)專案技術負責人付穩介紹,微博自動化運維平臺是藉助公有云彈性計算資源平臺應對爆發式峰值流量,基於Docker、Swarm等容器雲技術體系實現分鐘級千臺規模機器建立及服務部署自動化運維體系。

enter image description here

每年的元旦、春晚等節點都會給微博帶來流量挑戰,瞬間峰值高但是持續時間短,當流量激增形成脈衝計算時,保證系統穩定性的唯一辦法就是快速擴容甚至是實時擴容,微博引入阿里雲的彈性計算資源來應對流量短時高峰的情況。 DCP系統最核心的部分是彈性伸縮,架構內部主要採用私有云,早期採用物理機部署,通過化零為整建立餘池。另外通過 OpenStack+KVM 的虛擬化方式進行資源整合,建立VM池,在公有云方面通過採用阿里雲等設施進行多雲對接。

第四,微博DCP自動化運維繫統有哪些值得借鑑的地方

微博通過DCP運維繫統,讓日常運維資源更加合理化,降低運維成本,而出現流量爆發情況時可以快速應對,對很多大型平臺的運維工作都有借鑑意義。

DCP平臺設計理念、DCP系統架構以及彈性伸縮的應用思路等方面都值得運維平臺學習,而微博技術專家、混合雲DCP專案技術負責人付穩也將在2017年TOP100全球軟體案例研究峰會上發表主題為“應對鹿晗戀情爆發,微博如何應對短時間億級使用者訪問——微博OpenDCP混合雲設計與實踐”的課程分享。

enter image description here

TOP100全球軟體案例研究峰會已舉辦六屆,甄選全球軟體研發優秀案例,每年參會者達上萬人次。包含產品、團隊、架構、運維、大資料、人工智慧等多個技術專場,現場學習谷歌、微軟、騰訊、阿里、百度等一線網際網路企業的最新研發實踐。

更多TOP100案例資訊及日程請前往[官網]查閱。4天時間集中分享2017年最值得學習的100個研發案例實踐。本平臺共送出10張開幕式單天免費體驗票,數量有限,先到先得。

相關文章