摘要: 一路走來,文景也曾疑惑過:為什麼我們不能把活動的時間跨度拉長到3天,或者1周呢?那樣我們或許就不必冒著如此大的風險,承受日常峰值是10倍以上的壓力啊!然而當他走到現在才深刻的體會到,正是因為這集中爆發的、一次又一次的業務洪峰,在拉著技術往前狂奔,這才鑄就了今天這支能戰能勝的技術團隊,技術應該感謝業務...

情不知如何而起,竟一往情深。

恰如我們。十年前,因為相信,所以看見。十年後,就在眼前,看見一切。

當2018天貓雙11成交額2135億元的大屏上,打出這麼一段字的時候,參與雙11護航的阿里雲CDN技術掌舵人姚偉斌(文景),心中湧起一絲莫名的觸動。

CDN是最早參與天貓雙11的技術之一,伴隨雙11走了十年,回首十載春秋,無論是業務規模、技術架構,還是這些幕後的工程師們,都發生了翻天覆地的變化。他們的故事雖不如《阿里雲這群瘋子》一文中那般精彩,但也值得銘記!

技術掌舵人文景:雙11是技術小二最重要的事!

11月11日00:19分,文景看到作戰室的小夥伴們在輕鬆地交談後,他知道雙11的流量洪峰已經平穩地渡過了,他開始刷起了淘寶,他在為24小時後的結束儀式採購龍蝦。

不同於往年在光明頂(雙11作戰總指揮室)的忐忑和亢奮,今年文景團隊100多名作戰成員多了一份從容和鎮定,他們分布在不同的辦公地,五地在線協同作戰。在文景看來,這些年,業務倒逼了技術發展,推動了個人成長。十年雙11磨出來的穩定的系統、成熟的作戰方案、默契的團隊配合,都是這個團隊一路走來,身上的不可磨滅烙印。

(文景在雙11會場選購寶貝)

作為CDN技術掌舵人,雖然文景不是團隊中最「老」的同學,但他卻歷經了淘寶業務飛速發展的幾年,見證了從最初服務淘寶和集團內部的CDN,到如今國內服務客戶最多的雲CDN的每一步技術蛻變。

讀書時期的文景是個非常「愛折騰「的學生,去女生宿舍幫忙調通網路,跟著導師接系統開發的「私活」,相對於從書本上汲取營養,他更偏愛從項目錘鍊中獲取知識。慢慢地,他接觸到了嵌入式開發、無線感測網路、Linux、Nginx、Squid,向服務端開發轉型。而真正讓他感受到作為一個工程師的技術價值感的,是在做開源以後。「當時寫了很多開源模塊,有一些在Github上有了上千的STAR,我寫的代碼能幫到成千上萬的開發者,甚至有國外的開發者會給我寫感謝信,這不僅讓技術得到提升,也給了我十分強烈的認同感,也是因為開源,讓阿里看到了我。」在加入阿里後,文景負責的Tengine,曾一度躋身全球第十的WebServer。

很幸運,加入阿里的第一年他就趕上了雙11。對於當時的淘寶技術人來說,雙11是每年最最重要的事情。「對我們來說,最關鍵的就是在零點那一刻,系統要扛住,降級的措施越少越好「。文景回憶到,當時的技術原則:第一是要對業務有預估,幾千萬人同時並發的QPS是多少,系統能不能支持;第二,要做技術預案,所有依賴系統的容量是多少,一旦出了問題後的應對方案。」經過頭幾年雙11考驗後,系統逐漸具備了在極限的情況下也能正常運行的能力,在高性能、穩定方面有很大提升。到後來,我們技術能力已經遠超當年秒殺的規模,當前的技術架構已經足以支撐,所有的技術人這才安心了。「

啟航:從新手上路到一路狂奔

高級技術專家李克(空見)參與了整整十年的雙11,現在談起2009年的那個冬天,恍如昨日。「大家都是新手,該怎麼準備、怎麼配合,基本都是摸著石頭過河,CDN當時採用的是硬體方案,性能和靈活性還有很大的限制。誰也沒想到電商的業務發展的速度如此驚人,我們的一部分節點水位基本都跑在崩潰的邊緣,當時真的是靠幾個運維值班同學人工處理的方式撐了過來。」也就是在那年雙11之後,淘寶核心系統部門宣布成立,將自研CDN提上了日程。

(空見在雙11護航現場與「戰友們」討論)

當然,技術的積澱並不是一蹴而就。空見回憶道:每年我們都會預測第二年的峰值,但是每次都低估了電商的爆炸式增長。在這種高強度的業務壓力下,基本上所有的瓶頸都會被我們遇到,內存、CPU、IO、網路,來來回回做了很多輪軟體優化和節點架構升級。比如針對負載過高,增加前後端長連接機制,使得每個連接可以服務多個請求。為了降低IO開銷,使用一致性HASH策略,將多個機器的磁碟統一使用。在單機上採取內存->SSD->SATA的多層存儲策略,動態進行冷熱資源的遷移,提升磁碟效率。為了應對峰值壓力,我們會提前準備業務鎖量、節點壓測、降級預案、採購臨時帶寬等多種措施。在我們的監控和數據還不完善的那個年代,雙十一就靠每個人打開多個終端,盯著一批節點,一旦發現機器負載過高,立馬進行人工干預。

就是這樣,團隊靠著盯屏+人工操作,艱難撐過前幾年,CDN架構不斷定製、優化,團隊的技術實力一直在重重挑戰之中不斷攀升。

轉眼來到了2012年,文景認為這一年對CDN非常關鍵:「第一,我們決定不再採用外部的商用CDN,因為我們發現淘寶的流量,商用CDN是不足以支撐的。原因是淘寶是中國第一個圖片這麼多的網站,當時的SSD機器還沒有這麼流行,大部分的CDN廠商還在用SATA的機器,遇到數據量激增的時候,它的IOPS跑不起來,節點立刻會IOB掛掉。第二,當大部分CDN廠商都在用千兆機器,淘寶CDN已經在用萬兆機器,我們是中國第一個使用全SSD機器的廠商,並且完成了40G的節點。當時的技術架構是非常領先的。」

演進:機遇和挑戰並存的日子裡

2013年,隨著CDN能力的增強,很多業務已經開始使用CDN,比如秒殺、紅包、詳情頁等,CDN能夠offload大量的請求和帶寬,避免源站能力不足帶來的服務不可用。空見說到:這一年我們在技術上實現靜態化和數據化,通過動靜分離,抽象出來靜態內容,緩存在CDN上,動態部分通過ESI回源非同步獲取。靜態化改造之後,雙11扛住了數十倍的業務峰值流量。

在內部業務越來越豐富的同時,CDN的數據化也開始有了產出,第一版的數據平台能夠針對每個域名進行統計,提供節點、區域、運營商維度的五分鐘粒度數據,包含業務數據,如命中率、帶寬、QPS等,監控數據,如RTT、丟包率等。CDN告別了大鍋飯時代,開始了精細化的運營,這也為後面CDN商業化提供了基礎。

直到2014年,CDN不僅支持集團內部雙11,也開始服務外部客戶。空見很清楚地記得,在這年雙11,團隊內部搞起了流量競猜,工程師們為此設計了一個預測系統,通過每年雙十一的歷史數據,以及各業務線的預估和實際情況,實時預測晚高峰流量,用來及時調整資源,比如當天上午11點就準確出來晚上高峰在多少T。

2015年對CDN團隊來說也同樣意義非凡,因為那一年他們險些背了3.25。

當時淘寶上了全站HTTPS,而由於前期壓測、對新業務的評估沒有做到位,全站HTTPS帶來的計算開銷導致CPU、內存都開始成為瓶頸。「當雙11開始後,別人都在為數據再創新高而歡呼,我們團隊的工程師卻眼睜睜的看著線上節點內存被打爆,不停重啟,當時我在客戶現場駐場,真的連死的心都有了。」文景回憶到。

當時的CDN團隊已經到了阿里雲,經常全中國到處跑,深入客戶現場,貼身服務,整個團隊的工作重心不再僅僅是為雙11做方案和保障。「我們從純碎的技術人,變成了需要有商業思維的架構師,用CDN這個產品幫助客戶去解決問題。也正是因為如此,這次的經歷給我們敲響了警鐘,後面每當新業務誕生的時候,我們都做足了充分的預案,堅決避免再次重現,更絕不容許這種情況出現在客戶身上。」

(CDN團隊2017雙11合影 左三空見 右三士豪 右六文景 )

在2016年,新興的直播、短視頻業務發展迅速,帶寬增速非常快,高級技術專家周哲(士豪)認為,團隊在經歷過數年雙11的大考之後,已經開發出高性能、低延時、穩定的緩存系統,我們有能力服務好這麼大規模的圖片業務,視頻業務當然也不再話下。

「但是真正當有大規模的視頻點播業務上來之後,我才認識到對視頻點播場景理解不足。視頻點播對首屏、卡頓體驗,以及對整體命中率和回源保護有更高的要求。於是,我們就通過對整個系統完善全鏈路監控、基於用戶體驗的調度、提高整體緩存命中率、TCP協議棧優化,來提高視頻播放體驗。」

原本專註網路的CDN團隊,拉上了兄弟團隊,搞了小半年的技術攻堅,打磨出了直播全鏈路保障的方案。這套方案也成功應用在了天貓雙11晚會上,空見還記得在2016年團隊在護航天貓雙11晚會時,當TFBoy出現在屏幕上,帶寬直接飆升好幾倍,「這也是我第一次見識到了小鮮肉的威力!」

與此同時,優酷加入了阿里大家庭,這給CDN帶來了很多大文件加速、視頻加速的業務場景,讓整個團隊的資源建設和技術水平得到了補充。在技術層面,也加強了CDN團隊對視頻業務場景的理解,完善視頻格式實時轉封裝、全網防盜鏈、內容版權保護、P2P等相關技術。

從2017年開始,阿里雲CDN走上國際化之路,進行大規模海外節點的建設,以滿足國內用戶出海加速和海外用戶加速的需求。與此同時,在經過了2018俄羅斯世界盃、春晚等多次重大活動的洗禮,CDN的團隊規模、客戶規模、技術實力一齊進階,整個系統的自動化、智能化、精細化程度與服務能力全面加碼,這支能戰能勝的團隊再次面對雙11的時候,已然非常自信從容。

如今:程序員們一起「剁手」度過雙11

有了十年的積累沉澱,文景覺得今年雙11可以說是豐收的一年。

CDN團隊主要支撐了電商和貓晚,整個過程可以說是如絲般順滑,零故障零卡頓。同時,貓晚直播提供了超高清、高幀率的4K視頻,通過頻實時處理、轉碼向全網直播,窄帶高清技術能夠進一步提升畫質,讓網友們過足了眼癮。

CDN為優酷2500萬用戶提供的視頻分發,整個平台的QPS也突破歷史峰值。整個服務過程中依賴全鏈路質量監控、智能自動化調度,值班人員只需要關注數據大盤就能掌控全局了。

在今年雙11期間,文景所在的團隊也為Lazada提供電商CDN加速保障,同時結合直播解決方案幫助Lazada把雙11晚會推送到泰國、馬來西亞,和東南亞人一起狂歡雙11。

空見半玩笑半自豪地說:「以前奢望地喝喝茶、購購物過雙11的夢想在今年終於實現了,2135億里也有我們值班人員的一份貢獻。」

(零點洪峰平穩渡過後,程序員們終於有心思買買買了)

一路走來,文景也曾疑惑過:為什麼我們不能把活動的時間跨度拉長到3天,或者1周呢?那樣我們或許就不必冒著如此大的風險,承受日常峰值是10倍以上的壓力啊!然而當他走到現在才深刻的體會到,正是因為這集中爆發的、一次又一次的業務洪峰,在拉著技術往前狂奔,這才鑄就了今天這支能戰能勝的技術團隊,技術應該感謝業務!

十年雙11,就如同一部浩浩蕩蕩的阿里技術發展史。CDN就這樣用它獨有的起伏,添上了濃墨重彩的一筆。期待下一個十年,我們繼續一路相隨。

(空見第十次在雙11護航現場:人生有幾個十年)

點擊了解11月CDN、ENS、視頻雲全線產品限時優惠活動

本文作者:樰籬

原文鏈接

更多技術乾貨敬請關注云棲社區知乎機構號:阿里云云棲社區 - 知乎

本文為雲棲社區原創內容,未經允許不得轉載。


推薦閱讀:
相关文章