雲計算

大促密集,CDN如何保障電商體驗如絲般順滑?

前不久,阿里雲技術天團空降CSDN在線峰會,對核心技術競爭力進行解讀。其中,阿里雲高級技術專家曾福華分享了《雙11: CDN如何保障電商大促如絲般順滑》的議題。俗話說:養兵千日,用兵一時。每一次的戰役,後面都有無數的團隊、無數的預案以及無數的演練在支撐著。雙十一的穩定,不僅僅有各種創新各種高科技,還有非常多的體系化工程給與了足夠的保障,從物理層到應用層,從資源准入到線上演練,無一不例外的都蘊含著各種門道。面對電商大促,面對百 Tbps 級別的流量,阿里雲 CDN 又是如何確保如絲般順滑的呢?

講師:曾福華,高級技術專家,阿里雲邊緣雲智能調度系統負責人,主要研究技術方向為邊緣雲網一體化調度。

關注阿里雲Edge Plus微信公眾號,看見更多技術資訊,文末留言更有阿里雲T恤免費拿哦~

內容目錄:

  1. CDN的發展歷程及架構簡介
  2. 大促場景下,有關CDN的體量、保障以及排布那些事
  3. 彈性、算力及模擬仿真等關鍵技術解讀

阿里雲CDN發展歷程

2008年:阿里雲CDN起源於淘寶CDN,當時主要服務對象就是淘寶電商。
2009年:雙11啟動; CDN研發團隊成立; 阿里的CDN和電商有著千絲萬縷的聯繫。
2011年:CDN作為流量基礎設施,逐漸從服務淘寶電商擴展到全面服務阿里集團。
2014年:阿里雲CDN正式商業化; Tengine+Swift節點架構上線,替換了ATS節點架構。
2015年:阿里雲CDN與電商攜手邁進全站https階段;阿里雲CDN自研AIM1.0智能調度系統上線。
2017年:阿里雲CDN開啟全球化戰略;合併優酷CDN;正式發佈SCDN、DCDN等產品;同年被Gartner評定為全球級供應商。
2018年:阿里雲CDN支撐了全網70%世界盃直播流量;AIM2.0智能調度系統發佈。
2019年:圍繞“智能化”,阿里雲CDN在技術上深耕,在可編程CDN、多維資源負載均衡、精細化運營、各種邊緣場景服務上持續打磨。
2020年:在全民抗疫的背景下,阿里雲CDN支撐直播\在線教育等場景流量大幅增長;在技術層面,進行CDN邊緣雲原生與雲網一體化調度改造。

屏幕快照 2021-01-21 下午5.30.04.png

上圖中可以看出,伴隨著每年雙十一以及移動互聯網、視頻的普及,CDN的流量也呈現一個指數級增長。截止目前,阿里雲CDN在全球有2800+邊緣節點,覆蓋了3000多個地區和運營商。服務全球數十萬客戶,為超百萬域名提供加速服務。阿里雲CDN打造的一張連接全球的邊緣生態網絡,在晚高峰期間每秒處理上億QPS的用戶連接請求,每天將客戶數十億次配置管理指令下發到全網所有節點。

CDN簡介與技術架構

眾所周知,站點加載速度對上網體驗影響非常大。據統計,大部分站點如果不能在3秒內打開的話,接近50%的用戶會選擇離開。對於大型在線系統來說尤為明顯,加載時間每延長1秒,一年就會減少數以億計的營收。
CDN就是旨在提供客戶站點訪問加速的PaaS雲服務(雖然CDN誕生的時候雲計算的概念還沒有提出來),CDN非常普及,承載了互聯網90%以上的流量。工作的原理是通過廣域覆蓋的邊緣節點將內容分發到全球各地,調度系統將用戶請求引導合理的邊緣節點來大幅減低訪問時延,並控制著緩存內容回源流向,進而達到給客戶站點加速的目的。

屏幕快照 2021-01-21 下午5.30.13.png

CDN比較切確的定義是,基於運營商資源通過低成本、高可靠、廣覆蓋的計算基礎設施、內容鏈接能力及視頻承載平臺。CDN內部系統覆蓋智能調度、網絡/協議以及供應鏈的管理等模塊,同時加之數據和安全防護生態能力,在此基礎之上,提供面向網頁、圖片、點播、直播、動態、政企、安全等不同場景的加速能力。

電商大促的技術特徵與挑戰

今天的大促規模十分龐大,通常是百T級的業務帶寬,億級的併發請求,需要百萬級的CPU核消耗,如此大規模的場景磨鍊下,推動了雲產品尤其是CDN的快速成長。

大促活動有兩個特徵,第一是密集排布,包括活動安排緊湊,對應不同業務方;活動形式多樣,如貓晚直播、大主播、紅包、秒殺、0點開搶等等;同時活動估量非常複雜,需要考慮併發連接、帶寬、算力、命中率等指標。第二是需要在高負載下靈活變陣,考慮到:高負載大盤資源運行水位;各活動場景對不同維度資源需求差異大;各活動場景的調度覆蓋策略要具備隨機應變能力,以及強大的資源彈性伸縮能力。

屏幕快照 2021-01-21 下午5.30.31.png

那在這樣複雜的背景之下,如何去滿足業務高速發展的需求呢?

直面洪峰流量:CDN如何承載大促洪流?

通常,拿雙11大促舉例,CDN的保障分為預備、戰前、護航三個大的階段。同時,因為雙11保障是組織和系統結合的體系工程,詳細拆解下來可以分為需求評估、預案准備、需求交付、演練壓測、封網保障、大促護航等不同階段。

一、預備

在需求採集和評估階段,CDN需要向各個業務側去採集業務需求,明確時間點、業務特徵畫像和業務活動報量,同時要明確是否涉及新的功能定製。然後根據業務需求轉化成資源需求,包括庫存盤點、錯峰複用和資源缺口與建設;
在預案的準備階段,需要盤點清楚往年既有預案和新增預案;按場景和用途分成提前預案、還是緊急預案;大部分預案是CDN平臺側獨立完成即可,還是部分需要和業務方一起配合聯動;
定製需求交付過程中,主要涉及定製開發、聯調測試、上線驗證等過程;資源在建設交付過程中,也需要對交付的資源進行業務模擬仿真,並配合進行業務資源池的調整。

二、戰前準備

首先需要完成演練壓測階段,包括對容災、安全、性能和功能各方面的演練,進一步確保雙11對軟硬件系統、人員組織等方面的準備工作是到位的,包括預案是否覆蓋完整;接下來,就要進入封網保障階段了,一般在大型活動上線之前都會禁止所有的發佈和變更,不斷進行系統巡檢,巡檢中確保所有出現的缺陷修復到位,同時這個階段也會進行戰前動員保障,激勵士氣的同時也對大促保障規範做進一步強調。

三、護航階段

正式開始護航後,通常會按照提前安排好的分工進入現場保障,尤其前期工作做得充分,這個階段主要工作就是盯盤,針對異常情況需要快速地發現並定位問題,按計劃啟動相應緊急預案進行響應。最後,保障結束後需要對整體護航進行復盤總結,為未來的大促保障去做更多參考沉澱。

CDN保障大促的關鍵技術點應用

一、大促場景彈性如何保障?

由於大促期間業務排布非常多,那麼在高資源運行水位的情況如何進行靈活的彈性調度保障非常關鍵。阿里雲CDN是如何保障的呢?如下圖(上半部分)所示,海量業務中每個業務都有自己的資源偏好,為了保障彈性在業務和資源的匹配過程中,採用了不強制只擇優的業務資源匹配機制。總結下來,阿里雲的CDN調度系統在彈性保障上:
資源共池融合是業務彈性保障的最關鍵因素;
不做業務級別的節點硬件隔離,流量實時按需流動到全網所有節點上;
彈性、質量是可權衡的雙目標,可根據實際情況進行自主靈活可控(業務資源匹配程度);
按整體大盤需求進行資源規劃、資源建設、資源調度;

屏幕快照 2021-01-22 上午10.39.09.png

如上圖(下半部分)所示,我們要做到通過業務資源池資源調度優化,讓全網2800+CDN節點所有節點的齊漲齊落,這樣才能給大促業務提供最大的資源彈性保障。所以,調度不僅是全局負載均衡,更是彈性伸縮,阿里雲CDN調度系統進行了以下準備:

  • 節點角色交調度系統決策,剪除硬約束;
  • 業務資源池交調度系統實時決策,靈活變陣;
  • 節點上業務混布交調度系統決策,充分複用;
  • 資源池規劃、全局負載均衡中臺的雙劍合璧,彈性伸縮;

二、 大促場景算力如何調度?

很多人認為CDN單純是流量分發系統,但其實這個觀念是值得商榷的,在一些場景下還會海量大促突發請求會消耗巨大算力資源。拿雙11來舉例,電商網站進行了全站的https改造,在11日凌晨0點電商大促開搶瞬間,所有請求匯聚進來,這時候會形成非常巨大的尖脈衝,算力消耗十分巨大,此時如果沒有很好的機制去進行算力資源調度和全局負載均衡,就會出現大面積的業務異常。按天維度來看,雙11當天QPS比平時要高出約三成。所以CDN在大促場景下的另一個核心挑戰是:如何對海量業務算力消耗進行精準的全局負載均衡調度?

曾福華在此介紹:在帶寬調度或流量調度時,我們可以從日誌上精準推演每個請求消耗的流量,但是比較難精準去推算出每個請求消耗了多少算力,這對我們來說是非常大的難題。如下圖所示是阿里雲CDN的解題思路,基於已知的每個節點的CPU消耗以及節點的併發QPS這兩個數據,可以對每個業務單位QPS的CPU消耗進行公式的計算。同時根據不同時間點的不同數據變化,不斷進行機器學習訓練,得出各個業務平均單請求的CPU消耗精準數據了。有了帶寬和算力消耗的數據,如此一來,之前的單維帶寬調度就需要升維到多維資源調度模型,生成帶寬與算力等多資源維度下的全局負載均衡的調度新策略。

B501FEA6-E4BA-4EA7-9056-F0AA1123681A.png

三、大促限流保障機制

前面有介紹到大促期間整個大盤是在資源高水位狀態下運行,所以需要業務側做精準的業務報量,CDN平臺會根據這個報量去進行資源評估。但是任何事情都需要考慮到突發性和意外性,如果突增業務量超過了之前評估的業務報量,CDN平臺怎麼進行風控呢?

這一方面需要業務側對於報量進行精準評估,而另一方面CDN平臺側需要限流的策略來確保整體業務平穩運行。
阿里雲CDN在限流保障上已經在多方面沉澱了很多實戰經驗和能力。阿里雲CDN多級全方位限流保障包含:

  • 業務類型: 直播、點播、下載、動態加速等場景限流;
  • 限流類型: 帶寬、QPS、連接數等;
  • 限流形態: 單閾值區間限流,多閾值區間限流;
  • 限流範圍: 全網、區域、節點等;
  • 限流層級: L1限流、L2限流、回源限流;

仔晟圖.png

四、調度模擬仿真平臺

前面我們講到大促場景中需在高負載的情況下進行靈活變陣,調度模擬仿真平臺是一個非常好用的工具。
大促場景結合各個業務預估報量進行全局調度策略側模擬仿真,可以在事前未卜先知資源瓶頸和風險點會發生在什麼地方,需要針對各個業務怎麼做資源補充和策略調整,循環迭代調整業務資源池,直到模擬仿真平臺上風險點解除掉。
除了大促場景之外,調度模擬仿真平臺還可以加速輔助CDN調度核心系統的功能演進,從全局角度來觀察驗證新組件帶來的變化影響是正面還是負面。

模擬平臺的用途總結:

第一,基於沙盤模擬迭代,打磨了一套零成本試錯之路

•加速調度核心系統等組件的進化;
•測試平臺+模擬仿真平臺,共同捍衛穩定性;
•業務策略、資源的調整實時評估;

第二,通過大促模擬仿真,可以提前預知風險

•業務報量到資源建設,銜接管控全流程;
•精確推導資源缺口,精確推導承載增量;
•大促活動變陣模擬,循環迭代業務資源池;

圖片 1.png

以上是阿里雲CDN基於多年電商大促場景保障過程中沉澱下來的一些實戰經驗分享。阿里雲CDN目前也在邊緣雲原生和雲網一體化調度上做了很多技術上的演進,後面我們將持續給大家進行相關分享,謝謝觀看。

Leave a Reply

Your email address will not be published. Required fields are marked *