天天看點

春節不當機保衛戰:14億人,百億紅包,和加班的工程師丨新年有此氪

文 |王與桐

編輯 |石亞瓊

封面來源 |IC photo

在距離北京200多公裡、被稱為阿裡巴巴“資料心髒”的壩上資料中心,冬季氣溫最低能到零下38度,風大得讓人張不開嘴。這裡的除夕,每年都有阿裡雲的“巡查兵”駐守在Ecc監控室裡,除了要確定水電油的基本設施正常運轉,還要預防嚴寒給伺服器帶來的突發狀況。

2019年的除夕到初二,由阿裡雲的太佑在這裡值班。因為知道自己是最後一道防線,對于整個系統的運作來說非常重要,是以他的心态還不錯:“這裡的好處是鞭炮可以随便放!”

資料中心作為伺服器的“家”,是使用者網絡生活的正常進行的基礎,在春節這種流量高峰,更容不得一絲差池。

而太佑隻是為了讓我們春節搶紅包、發朋友圈、看網絡春晚、打遊戲更順利的工程師之一。

在除夕佳節,萬家歡聚,共享團圓的時刻,來自各大廠的工程師們,或在公司大廈,或在機房,或在家卻對着電腦,他們都在加班,為的是對抗十幾億流量對伺服器帶來的沖擊:

2022年,京東成立8個項目組,由京東零售集團主導,物流、科技等子公司協助,負責春晚紅包的發放;

2021年除夕,騰訊雲及騰訊底層技術團隊有數百位工程師選擇留在公司值班、客戶現場、各地資料中心等一線值班;

金山雲今年組建了百餘人的運維團隊,保證春晚直播的順利進行;

2020年,快手投入幾百人參與春晚紅包研發團隊;

2019年百度想方設法搞到了10萬台伺服器,上千名百度同僚除夕加班,讓百度App平穩度過因紅包發放造成的流量沖擊;

……

春節不當機保衛戰:14億人,百億紅包,和加班的工程師丨新年有此氪

阿裡雲的太佑在室外巡檢風冷冷水機組

當春晚按時播放,當年夜飯上桌,當煙花綻放,對着電視刷手機的你或許不會知道,全國十多億人同時拿起手機,将會彙聚起怎樣的資料海嘯。

保證數字世界的正常有序運作,成為了各大廠及其工程師在春節時期的特殊使命。

這是一場春節不當機的保衛戰。

01 當機:在流量高峰時到來

在PC網際網路時代,當機很少發生,一是人們能夠上網的裝置有限,又受地理位置限制,對于網絡熱點事件的參與度低,伺服器收到的流量沖擊就少;二是,PC時代大家往往是“圍攻”一個熱點圖檔或者視訊,伺服器隻需緩存這一個内容就好。

但在移動網際網路時代,以朋友圈、微網誌為代表的UGC(User Generated Content,即使用者原創内容)每個都不相同,伺服器需要對每一個都進行緩存。在這個基礎上,越大的流量,對伺服器造成的沖擊就越大,當機就會發生。

是以,春節時期,十幾億人無事可做,頻繁網絡沖浪的行為,就很容易給伺服器帶來沖擊和壓力。

騰訊是第一批經曆移動網際網路時代突如其來的流量高峰的廠商。

騰訊工程師在PC時代大多都正常過節休假,9天的假期也不帶電腦——去網吧連上VPN,上線、搬遷、下線就相當于值班了。

變化在2014年除夕夜發生。那是4G開始普及、移動網際網路起勢的一年,那年春節前十幾天,為活躍新年氣氛,騰訊在微信裡加入了搶紅包功能。春節紅包正式上線前,團隊内測時便發現,這個“小功能”使用人數遠遠超過預期:從廣州等一線城市開始,發紅包的習慣逐漸擴充到二、三、四線城市,直至全國。

但這個功能一開始便是按照小系統來設計的,臨時為了使用者增長做改動已經來不及了。

當時的微信DAU剛超過1億,使用者數大概在4億左右,在除夕夜幾乎所有擁有微信的人,都開始發紅包、搶紅包。春節紅包團隊迅速啟動了過載保護。過載使用者想發紅包時,系統會提示“目前系統繁忙”。當時開發紅包的技術團隊臨時調來了10倍于原設計數量的伺服器,才扛住了考驗。

與此同時,騰訊存儲那邊也出問題了。大家搶到的紅包截圖以及新年祝福,都密集地在朋友圈發送,觸發了已設定好的過載預警線。使用者的直覺感受就是你的消息對方無法及時看到,你也可能無法及時收到朋友發給你的微信/朋友圈。存儲團隊和微信團隊都緊急調出了運維工程師進行處理,擴容、改良分發政策。

2014年之後,騰訊吸取教訓,開始了每年春節加班值班的“傳統”。

其他所有要參與到春節活動的大廠,也從那時開始學會了提前準備。

02 紅包:全民的狂歡,大廠的加班

提前準備的内容并沒有大家想想的那麼簡單。

一個明顯的“洪峰”是每年的搶紅包活動。自2015年微信開啟春晚搶紅包後,每年有一家頂尖網際網路公司走上舞台,給十幾億人發紅包,今年是抖音,去年是快手,2019年是百度,2018年是淘寶,2016年是支付寶,每年金額逐漸加碼,新玩法也層出不窮。

春節不當機保衛戰:14億人,百億紅包,和加班的工程師丨新年有此氪

圖檔更新:2022年,京東準備15億互動紅包和實物

紅包會在某一個或某幾個時間點集中揭曉和發放。看似隻是發了幾億的紅包,但其背後對技術的投入遠不止這些。

搶紅包非常容易帶來當機狀況,原因基本是這幾個:1.不可預見的峰值流量瞬間湧入,2.紅包系統架構複雜帶來了協調成本,3.春節返鄉導緻地區間流量資源配置設定要臨時調整,4.與外部資源協作出現問題,5.新形式需要新技術做比對。

為了解決這些問題,紅包承辦方和雲廠商沒少費心思:

不可預見的峰值流量瞬間湧入,這點在前幾年的摸着石頭過河後,後面的大廠基本能做到“心中有數”。

2018年春晚,淘寶紅包項目的技術團隊雖然很早就預估到了登入系統壓力,但當時基于一些曆史資料推導出了極端情況,最終決定以2017年雙十一的容量為基礎,對登入數擴容3倍。結果,春晚當晚登入的實際峰值超過了2017年雙十一的15倍,尤其新使用者的瞬時登入更是完全超出預料。

好在有了前幾年的資料基礎,後來者對資料的估算也會相對準确一些。百度技術部門在春晚前就測算過,春晚期間登入值可達到日常使用者登入峰值的2500倍,流量據測算每秒峰值将會達到5000萬次,每分鐘的峰值将會達到10億次,而能支撐這些流量的雲計算系統,由10萬台伺服器組成。

紅包系統架構複雜帶來了協調成本。與單純的登入、釋出、評論不同,搶紅包項目往往和紅包業務系統、交易支付系統、零錢賬戶系統這三個層級之間轉換,因為一個紅包如果是通過銀行卡發出,必須要先向銀行提出申請,銀行會進行扣款,扣款成功後,背景會通知支付系統,紅包系統到這時才會把紅包放出。在其他使用者搶到紅包後,又會以零錢形式進入使用者賬戶中。

紅包幾秒鐘現金出出進進,都需要耗費伺服器資源,由于資金頻繁進出銀行,部分銀行的技術能力又非常有限,是以大廠還需要前提和銀行協調測試。

春節返鄉導緻地區間流量資源配置設定要臨時調整的情況,在“鼓勵就地過年”的今年或許會稍有好轉。

使用者的的地理位置改變,會導緻流量結構帶來變化,DC資料中心和CDN帶寬不得不進行調整。每年,阿裡雲、騰訊雲、金山雲等廠商,都要與三大營運商一起提前規劃好不同的确所需要的網絡資源,再通過智能排程系統感覺不同的确資源緊張程度,并進行相對應的資源排程和補給。

春晚是一個大協作,依賴很多外部資源:應用商店、伺服器、帶寬、CDN。比如如果應用商店不擴容,也會被春晚導入的使用者搞癱,雖然2019年百度斥10萬台伺服器保障搶紅包活動的順利進行,但當晚蘋果、小米、華為系統的應用商城部分系統出現崩潰,全國有200萬-300萬人無法下載下傳百度App。

春節不當機保衛戰:14億人,百億紅包,和加班的工程師丨新年有此氪

百度員工在春晚前“拜”楊超越

随着短視訊的火爆,搶紅包活動也在于短視訊進行結合。2020年和2021年,春晚紅包的合作夥伴分别是快手和抖音,這兩家短視訊平台。與之前的圖文形式的搶紅包不同,2020年快手采取的是“看視訊+點贊”搶紅包。快手官方資料顯示春晚直播間累計觀看人次7.8億,最高同時線上人數2524萬,短視訊内容所需帶寬是文本的50-100倍,但基于高性能可伸縮的AI架構能力進行富媒體處理,内容稽核、内容生産、内容分發、内容消費各個環節均全面應用AI技術,在保證使用者順暢搶紅包的同時,也確定短視訊、直播、社群等功能可用。

03更多的保衛戰,在紅包之外

這些年,紅包背後的技術越來越穩,騰訊作為旁觀者能夠感受到。

這是因為,不管最終揭曉的金額是多少,1.88,6.88,還是288,大家都會截圖分享到社交環境裡,也就是發朋友圈或者發到微信群。

我們發送的圖檔、動圖、視訊等海量資訊會給存儲器的存儲容量、通信幹線信道的帶寬、頁面加載速度增加極大的壓力。 是以某一時間段節點,出現高于往常十倍的朋友圈密集發送現象,就會給騰訊的資料中心帶來巨大壓力;如果其他App并非同一時間揭曉、發放紅包,那麼大家分享到朋友圈的速度也不是同步的,騰訊資料中心監測到的壓力将不是暴增的,而是逐漸的。

是以,騰訊雲架構平台技術營運與品質中心總監高向冉開玩笑說,騰訊支援并檢驗了很多“友商”的紅包活動:“很多時候,友商活動策劃做的是否完美,是可以通過我們‘檢驗’的。”

紅包之外的伺服器壓力,還有春晚本身。

移動網際網路的普及帶火了春晚直播。截至2020年1月24日24時,2020年春晚在新媒體平台的直播收看人次累積突破11.16億人次,電視端直播僅有5.89億人次觀看。而春晚直播的技術和前面提到的紅包、存儲有相似之處,但又不太大相同。

相同之處在于,同樣都是由雲計算提供的支援保障。不同之處在于,搶紅包、發朋友圈是瞬間的高并發壓力,而視訊直播的壓力來自網絡帶寬。從去年開始央視春晚直播采用了5G超清、VR直播等新形式,視訊的帶寬是圖像的千倍萬倍,這讓視訊傳輸的難度更大。

擅長視訊編解碼技術的金山雲從2017年起參與了4年服務春晚網絡直播。針對5G、4K/8K高清直播和VR等新形式研發的AI+視訊雲新技術,能夠實作節省帶寬,比對碎片化的終端,針對高清内容設計了大容量分發節點以适應“大内容”等目的。

事實上,現在央視春晚的各種運維,都已經不是單一大廠負責了,多雲不僅是為了規避大流量、高并發、DDos攻擊等風險,也是為了“術業有專攻”,讓不同大廠去做自己更擅長的事。

這兩年,春節對于大家已經不再僅僅是實體空間的活動——看春晚、走親訪友那麼簡單,在網絡世界沖浪甚至成為更重要的春節活動。甚至我們很多想象不到的流量沖擊,比如遊戲登入量會在春晚歌舞節目時暴增,比如每年初一的淩晨12點到12點10分這十幾分鐘裡,朋友圈發送過多會給伺服器帶來沖擊,比如假期時電影購票系統容易擁擠……

大廈千間并非憑空而來,技術是地基,而千千萬萬春節不回家的工程師,就是創始者。

04 隐身的技術,和不回家的工程師

從2014年到2022年,各大廠應對春節流量沖擊的技術不斷進化。從最早的懵懵懂懂、毫無認知,對技術難點預估不足,到後來每年都會提前做好準備,但依舊要靠熔斷機制來限制流量,再到如今限制為輔,分布式、自動化、智能化為主,看似是騰訊、百度、阿裡、金山在保障我們春節活動的進行,實際上是雲計算、4G(即将5G)、AI等技術在保駕護航。

我們日常在網際網路上的種種行為——微信聊天、發朋友圈、淘寶、百度搜尋,以及每年在不同App上搶紅包,都會産生資料,而這些資料的傳輸、存儲、計算,都無比依賴4G(5G)、雲計算、AI作為技術基礎。

浪潮資訊聯合IDC釋出的《2020全球計算力指數評估報告》表明,計算力指數平均每提高1個點,數字經濟和GDP将分别增長3.3‰和1.8‰;美國以75分位列國家計算力指數排名第一,坐擁全球最多超大規模資料中心,中國獲得66分,位列第二。

春節不當機保衛戰:14億人,百億紅包,和加班的工程師丨新年有此氪

來源:IDC

超大規模的資料量對處理效率提出更高要求,強大的雲計算能力,為數字經濟提供了倍增創新的源動力;傳輸技術3G-4G-5G的不斷演進,又為資料的傳輸提供了更快、更寬闊的通道;通過AI來實作自動化、智能化,節省營運開支和時間,為更重要的資料處理讓出時間和位置。

具體到中國,每年春節的不當機保衛戰,都會成各大廠計算能力的檢驗和升華。

這是一個正向循環。“當機”的壓力倒逼廠商的技術更新,進而推動雲計算、傳輸技術的發展;雲計算、傳輸技術發展,又為各大廠的春節保衛戰提供的技術基礎。

而正向循環的背後,是無數為了技術發展熬秃了頭的工程師,和為了讓技術在春節順利發揮作用而不回家的“打勞工”。

每年支付寶都會有集五福活動,獎金在除夕夜公布。五福開獎後并不代表着工程師的工作結束,所有完成後大概淩晨一點多,一位花名是形修的支付寶同僚會從那時起,從杭州出發橫跨整個中國,回到位于新疆阿拉爾的家。

一位經曆過兩次春晚直播項目的金山雲技術專家告訴36氪,部門主要負責人也會參與一線帶領百人團隊奮戰直到的最後一秒,後勤團隊也會保證食品和“年味”的供應。

2019年除夕當晚,百度大廈裡1000多位同僚、百度散落在各地機房的100位同僚、帶着備用零件守候在機房的100多位伺服器廠商的工程師、三大營運商為了保護網絡通暢而留守在各地機房的1000多位同僚,都在為了順利完成紅包活動而加班,據說大廈裡“靜地聽得見針落”。

他們的加班費用不低,一般是兩倍以上的工資,還會有項目的獎金。不過付出并不僅僅是為了錢,在采訪和資料查閱過程中,能感受到更多是信念在支援。春節運維不是小事。

如今,春節已經成為了可以預判的峰值節點。據說,美國“超級碗”直播中間插播廣告的時候,電視機前的幾億觀衆會集體上廁所沖馬桶,導緻美國各大城市的市政供水出現崩潰,而超級碗的全球觀衆僅有1.3億。

在十幾億人共度佳節、同刷手機的新春佳節,千千萬萬的工程師,通過潤物細無聲的新技術,讓每一個普通人在數字世界暢通無阻地生活。

本文來自微信公衆号“36氪”(ID:wow36kr),作者:王與桐 石亞瓊,36氪經授權釋出。

繼續閱讀