大促密集,CDN如何保障电商体验如丝般顺滑?
前不久,阿里云技術(shù)天團(tuán)空降CSDN在線峰會(huì),對(duì)核心技術(shù)競爭力進(jìn)行解讀。其中,阿里云高級(jí)技術(shù)專家曾福華分享了《雙11: CDN如何保障電商大促如絲般順滑》的議題。俗話說:養(yǎng)兵千日,用兵一時(shí)。每一次的戰(zhàn)役,后面都有無數(shù)的團(tuán)隊(duì)、無數(shù)的預(yù)案以及無數(shù)的演練在支撐著。雙十一的穩(wěn)定,不僅僅有各種創(chuàng)新各種高科技,還有非常多的體系化工程給與了足夠的保障,從物理層到應(yīng)用層,從資源準(zhǔn)入到線上演練,無一不例外的都蘊(yùn)含著各種門道。面對(duì)電商大促,面對(duì)百 Tbps 級(jí)別的流量,阿里云 CDN 又是如何確保如絲般順滑的呢?
講師:曾福華,高級(jí)技術(shù)專家,阿里云邊緣云智能調(diào)度系統(tǒng)負(fù)責(zé)人,主要研究技術(shù)方向?yàn)檫吘壴凭W(wǎng)一體化調(diào)度。
關(guān)注阿里云Edge Plus微信公眾號(hào),看見更多技術(shù)資訊,文末留言更有阿里云T恤免費(fèi)拿哦~
內(nèi)容目錄:
阿里云CDN發(fā)展歷程
2008年:阿里云CDN起源于淘寶CDN,當(dāng)時(shí)主要服務(wù)對(duì)象就是淘寶電商。
2009年:雙11啟動(dòng); CDN研發(fā)團(tuán)隊(duì)成立; 阿里的CDN和電商有著千絲萬縷的聯(lián)系。
2011年:CDN作為流量基礎(chǔ)設(shè)施,逐漸從服務(wù)淘寶電商擴(kuò)展到全面服務(wù)阿里集團(tuán)。
2014年:阿里云CDN正式商業(yè)化; Tengine+Swift節(jié)點(diǎn)架構(gòu)上線,替換了ATS節(jié)點(diǎn)架構(gòu)。
2015年:阿里云CDN與電商攜手邁進(jìn)全站https階段;阿里云CDN自研AIM1.0智能調(diào)度系統(tǒng)上線。
2017年:阿里云CDN開啟全球化戰(zhàn)略;合并優(yōu)酷CDN;正式發(fā)布SCDN、DCDN等產(chǎn)品;同年被Gartner評(píng)定為全球級(jí)供應(yīng)商。
2018年:阿里云CDN支撐了全網(wǎng)70%世界杯直播流量;AIM2.0智能調(diào)度系統(tǒng)發(fā)布。
2019年:圍繞“智能化”,阿里云CDN在技術(shù)上深耕,在可編程CDN、多維資源負(fù)載均衡、精細(xì)化運(yùn)營、各種邊緣場景服務(wù)上持續(xù)打磨。
2020年:在全民抗疫的背景下,阿里云CDN支撐直播\在線教育等場景流量大幅增長;在技術(shù)層面,進(jìn)行CDN邊緣云原生與云網(wǎng)一體化調(diào)度改造。
上圖中可以看出,伴隨著每年雙十一以及移動(dòng)互聯(lián)網(wǎng)、視頻的普及,CDN的流量也呈現(xiàn)一個(gè)指數(shù)級(jí)增長。截止目前,阿里云CDN在全球有2800+邊緣節(jié)點(diǎn),覆蓋了3000多個(gè)地區(qū)和運(yùn)營商。服務(wù)全球數(shù)十萬客戶,為超百萬域名提供加速服務(wù)。阿里云CDN打造的一張連接全球的邊緣生態(tài)網(wǎng)絡(luò),在晚高峰期間每秒處理上億QPS的用戶連接請(qǐng)求,每天將客戶數(shù)十億次配置管理指令下發(fā)到全網(wǎng)所有節(jié)點(diǎn)。
CDN簡介與技術(shù)架構(gòu)
眾所周知,站點(diǎn)加載速度對(duì)上網(wǎng)體驗(yàn)影響非常大。據(jù)統(tǒng)計(jì),大部分站點(diǎn)如果不能在3秒內(nèi)打開的話,接近50%的用戶會(huì)選擇離開。對(duì)于大型在線系統(tǒng)來說尤為明顯,加載時(shí)間每延長1秒,一年就會(huì)減少數(shù)以億計(jì)的營收。
CDN就是旨在提供客戶站點(diǎn)訪問加速的PaaS云服務(wù)(雖然CDN誕生的時(shí)候云計(jì)算的概念還沒有提出來),CDN非常普及,承載了互聯(lián)網(wǎng)90%以上的流量。工作的原理是通過廣域覆蓋的邊緣節(jié)點(diǎn)將內(nèi)容分發(fā)到全球各地,調(diào)度系統(tǒng)將用戶請(qǐng)求引導(dǎo)合理的邊緣節(jié)點(diǎn)來大幅減低訪問時(shí)延,并控制著緩存內(nèi)容回源流向,進(jìn)而達(dá)到給客戶站點(diǎn)加速的目的。
CDN比較切確的定義是,基于運(yùn)營商資源通過低成本、高可靠、廣覆蓋的計(jì)算基礎(chǔ)設(shè)施、內(nèi)容鏈接能力及視頻承載平臺(tái)。CDN內(nèi)部系統(tǒng)覆蓋智能調(diào)度、網(wǎng)絡(luò)/協(xié)議以及供應(yīng)鏈的管理等模塊,同時(shí)加之?dāng)?shù)據(jù)和安全防護(hù)生態(tài)能力,在此基礎(chǔ)之上,提供面向網(wǎng)頁、圖片、點(diǎn)播、直播、動(dòng)態(tài)、政企、安全等不同場景的加速能力。
電商大促的技術(shù)特征與挑戰(zhàn)
今天的大促規(guī)模十分龐大,通常是百T級(jí)的業(yè)務(wù)帶寬,億級(jí)的并發(fā)請(qǐng)求,需要百萬級(jí)的CPU核消耗,如此大規(guī)模的場景磨煉下,推動(dòng)了云產(chǎn)品尤其是CDN的快速成長。
大促活動(dòng)有兩個(gè)特征,第一是密集排布,包括活動(dòng)安排緊湊,對(duì)應(yīng)不同業(yè)務(wù)方;活動(dòng)形式多樣,如貓晚直播、大主播、紅包、秒殺、0點(diǎn)開搶等等;同時(shí)活動(dòng)估量非常復(fù)雜,需要考慮并發(fā)連接、帶寬、算力、命中率等指標(biāo)。第二是需要在高負(fù)載下靈活變陣,考慮到:高負(fù)載大盤資源運(yùn)行水位;各活動(dòng)場景對(duì)不同維度資源需求差異大;各活動(dòng)場景的調(diào)度覆蓋策略要具備隨機(jī)應(yīng)變能力,以及強(qiáng)大的資源彈性伸縮能力。
那在這樣復(fù)雜的背景之下,如何去滿足業(yè)務(wù)高速發(fā)展的需求呢?
直面洪峰流量:CDN如何承載大促洪流?
通常,拿雙11大促舉例,CDN的保障分為預(yù)備、戰(zhàn)前、護(hù)航三個(gè)大的階段。同時(shí),因?yàn)殡p11保障是組織和系統(tǒng)結(jié)合的體系工程,詳細(xì)拆解下來可以分為需求評(píng)估、預(yù)案準(zhǔn)備、需求交付、演練壓測、封網(wǎng)保障、大促護(hù)航等不同階段。
一、預(yù)備
在需求采集和評(píng)估階段,CDN需要向各個(gè)業(yè)務(wù)側(cè)去采集業(yè)務(wù)需求,明確時(shí)間點(diǎn)、業(yè)務(wù)特征畫像和業(yè)務(wù)活動(dòng)報(bào)量,同時(shí)要明確是否涉及新的功能定制。然后根據(jù)業(yè)務(wù)需求轉(zhuǎn)化成資源需求,包括庫存盤點(diǎn)、錯(cuò)峰復(fù)用和資源缺口與建設(shè);
在預(yù)案的準(zhǔn)備階段,需要盤點(diǎn)清楚往年既有預(yù)案和新增預(yù)案;按場景和用途分成提前預(yù)案、還是緊急預(yù)案;大部分預(yù)案是CDN平臺(tái)側(cè)獨(dú)立完成即可,還是部分需要和業(yè)務(wù)方一起配合聯(lián)動(dòng);
定制需求交付過程中,主要涉及定制開發(fā)、聯(lián)調(diào)測試、上線驗(yàn)證等過程;資源在建設(shè)交付過程中,也需要對(duì)交付的資源進(jìn)行業(yè)務(wù)模擬仿真,并配合進(jìn)行業(yè)務(wù)資源池的調(diào)整。
二、戰(zhàn)前準(zhǔn)備
首先需要完成演練壓測階段,包括對(duì)容災(zāi)、安全、性能和功能各方面的演練,進(jìn)一步確保雙11對(duì)軟硬件系統(tǒng)、人員組織等方面的準(zhǔn)備工作是到位的,包括預(yù)案是否覆蓋完整;接下來,就要進(jìn)入封網(wǎng)保障階段了,一般在大型活動(dòng)上線之前都會(huì)禁止所有的發(fā)布和變更,不斷進(jìn)行系統(tǒng)巡檢,巡檢中確保所有出現(xiàn)的缺陷修復(fù)到位,同時(shí)這個(gè)階段也會(huì)進(jìn)行戰(zhàn)前動(dòng)員保障,激勵(lì)士氣的同時(shí)也對(duì)大促保障規(guī)范做進(jìn)一步強(qiáng)調(diào)。
三、護(hù)航階段
正式開始護(hù)航后,通常會(huì)按照提前安排好的分工進(jìn)入現(xiàn)場保障,尤其前期工作做得充分,這個(gè)階段主要工作就是盯盤,針對(duì)異常情況需要快速地發(fā)現(xiàn)并定位問題,按計(jì)劃啟動(dòng)相應(yīng)緊急預(yù)案進(jìn)行響應(yīng)。最后,保障結(jié)束后需要對(duì)整體護(hù)航進(jìn)行復(fù)盤總結(jié),為未來的大促保障去做更多參考沉淀。
CDN保障大促的關(guān)鍵技術(shù)點(diǎn)應(yīng)用
一、大促場景彈性如何保障?
由于大促期間業(yè)務(wù)排布非常多,那么在高資源運(yùn)行水位的情況如何進(jìn)行靈活的彈性調(diào)度保障非常關(guān)鍵。阿里云CDN是如何保障的呢?如下圖(上半部分)所示,海量業(yè)務(wù)中每個(gè)業(yè)務(wù)都有自己的資源偏好,為了保障彈性在業(yè)務(wù)和資源的匹配過程中,采用了不強(qiáng)制只擇優(yōu)的業(yè)務(wù)資源匹配機(jī)制。總結(jié)下來,阿里云的CDN調(diào)度系統(tǒng)在彈性保障上:
資源共池融合是業(yè)務(wù)彈性保障的最關(guān)鍵因素;
不做業(yè)務(wù)級(jí)別的節(jié)點(diǎn)硬件隔離,流量實(shí)時(shí)按需流動(dòng)到全網(wǎng)所有節(jié)點(diǎn)上;
彈性、質(zhì)量是可權(quán)衡的雙目標(biāo),可根據(jù)實(shí)際情況進(jìn)行自主靈活可控(業(yè)務(wù)資源匹配程度);
按整體大盤需求進(jìn)行資源規(guī)劃、資源建設(shè)、資源調(diào)度;
如上圖(下半部分)所示,我們要做到通過業(yè)務(wù)資源池資源調(diào)度優(yōu)化,讓全網(wǎng)2800+CDN節(jié)點(diǎn)所有節(jié)點(diǎn)的齊漲齊落,這樣才能給大促業(yè)務(wù)提供最大的資源彈性保障。所以,調(diào)度不僅是全局負(fù)載均衡,更是彈性伸縮,阿里云CDN調(diào)度系統(tǒng)進(jìn)行了以下準(zhǔn)備:
- 節(jié)點(diǎn)角色交調(diào)度系統(tǒng)決策,剪除硬約束;
- 業(yè)務(wù)資源池交調(diào)度系統(tǒng)實(shí)時(shí)決策,靈活變陣;
- 節(jié)點(diǎn)上業(yè)務(wù)混布交調(diào)度系統(tǒng)決策,充分復(fù)用;
- 資源池規(guī)劃、全局負(fù)載均衡中臺(tái)的雙劍合璧,彈性伸縮;
二、 大促場景算力如何調(diào)度?
很多人認(rèn)為CDN單純是流量分發(fā)系統(tǒng),但其實(shí)這個(gè)觀念是值得商榷的,在一些場景下還會(huì)海量大促突發(fā)請(qǐng)求會(huì)消耗巨大算力資源。拿雙11來舉例,電商網(wǎng)站進(jìn)行了全站的https改造,在11日凌晨0點(diǎn)電商大促開搶瞬間,所有請(qǐng)求匯聚進(jìn)來,這時(shí)候會(huì)形成非常巨大的尖脈沖,算力消耗十分巨大,此時(shí)如果沒有很好的機(jī)制去進(jìn)行算力資源調(diào)度和全局負(fù)載均衡,就會(huì)出現(xiàn)大面積的業(yè)務(wù)異常。按天維度來看,雙11當(dāng)天QPS比平時(shí)要高出約三成。所以CDN在大促場景下的另一個(gè)核心挑戰(zhàn)是:如何對(duì)海量業(yè)務(wù)算力消耗進(jìn)行精準(zhǔn)的全局負(fù)載均衡調(diào)度?
曾福華在此介紹:在帶寬調(diào)度或流量調(diào)度時(shí),我們可以從日志上精準(zhǔn)推演每個(gè)請(qǐng)求消耗的流量,但是比較難精準(zhǔn)去推算出每個(gè)請(qǐng)求消耗了多少算力,這對(duì)我們來說是非常大的難題。如下圖所示是阿里云CDN的解題思路,基于已知的每個(gè)節(jié)點(diǎn)的CPU消耗以及節(jié)點(diǎn)的并發(fā)QPS這兩個(gè)數(shù)據(jù),可以對(duì)每個(gè)業(yè)務(wù)單位QPS的CPU消耗進(jìn)行公式的計(jì)算。同時(shí)根據(jù)不同時(shí)間點(diǎn)的不同數(shù)據(jù)變化,不斷進(jìn)行機(jī)器學(xué)習(xí)訓(xùn)練,得出各個(gè)業(yè)務(wù)平均單請(qǐng)求的CPU消耗精準(zhǔn)數(shù)據(jù)了。有了帶寬和算力消耗的數(shù)據(jù),如此一來,之前的單維帶寬調(diào)度就需要升維到多維資源調(diào)度模型,生成帶寬與算力等多資源維度下的全局負(fù)載均衡的調(diào)度新策略。
三、大促限流保障機(jī)制
前面有介紹到大促期間整個(gè)大盤是在資源高水位狀態(tài)下運(yùn)行,所以需要業(yè)務(wù)側(cè)做精準(zhǔn)的業(yè)務(wù)報(bào)量,CDN平臺(tái)會(huì)根據(jù)這個(gè)報(bào)量去進(jìn)行資源評(píng)估。但是任何事情都需要考慮到突發(fā)性和意外性,如果突增業(yè)務(wù)量超過了之前評(píng)估的業(yè)務(wù)報(bào)量,CDN平臺(tái)怎么進(jìn)行風(fēng)控呢?
這一方面需要業(yè)務(wù)側(cè)對(duì)于報(bào)量進(jìn)行精準(zhǔn)評(píng)估,而另一方面CDN平臺(tái)側(cè)需要限流的策略來確保整體業(yè)務(wù)平穩(wěn)運(yùn)行。
阿里云CDN在限流保障上已經(jīng)在多方面沉淀了很多實(shí)戰(zhàn)經(jīng)驗(yàn)和能力。阿里云CDN多級(jí)全方位限流保障包含:
- 業(yè)務(wù)類型: 直播、點(diǎn)播、下載、動(dòng)態(tài)加速等場景限流;
- 限流類型: 帶寬、QPS、連接數(shù)等;
- 限流形態(tài): 單閾值區(qū)間限流,多閾值區(qū)間限流;
- 限流范圍: 全網(wǎng)、區(qū)域、節(jié)點(diǎn)等;
- 限流層級(jí): L1限流、L2限流、回源限流;
四、調(diào)度模擬仿真平臺(tái)
前面我們講到大促場景中需在高負(fù)載的情況下進(jìn)行靈活變陣,調(diào)度模擬仿真平臺(tái)是一個(gè)非常好用的工具。
大促場景結(jié)合各個(gè)業(yè)務(wù)預(yù)估報(bào)量進(jìn)行全局調(diào)度策略側(cè)模擬仿真,可以在事前未卜先知資源瓶頸和風(fēng)險(xiǎn)點(diǎn)會(huì)發(fā)生在什么地方,需要針對(duì)各個(gè)業(yè)務(wù)怎么做資源補(bǔ)充和策略調(diào)整,循環(huán)迭代調(diào)整業(yè)務(wù)資源池,直到模擬仿真平臺(tái)上風(fēng)險(xiǎn)點(diǎn)解除掉。
除了大促場景之外,調(diào)度模擬仿真平臺(tái)還可以加速輔助CDN調(diào)度核心系統(tǒng)的功能演進(jìn),從全局角度來觀察驗(yàn)證新組件帶來的變化影響是正面還是負(fù)面。
模擬平臺(tái)的用途總結(jié):
第一,基于沙盤模擬迭代,打磨了一套零成本試錯(cuò)之路
?加速調(diào)度核心系統(tǒng)等組件的進(jìn)化;
?測試平臺(tái)+模擬仿真平臺(tái),共同捍衛(wèi)穩(wěn)定性;
?業(yè)務(wù)策略、資源的調(diào)整實(shí)時(shí)評(píng)估;
第二,通過大促模擬仿真,可以提前預(yù)知風(fēng)險(xiǎn)
?業(yè)務(wù)報(bào)量到資源建設(shè),銜接管控全流程;
?精確推導(dǎo)資源缺口,精確推導(dǎo)承載增量;
?大促活動(dòng)變陣模擬,循環(huán)迭代業(yè)務(wù)資源池;
以上是阿里云CDN基于多年電商大促場景保障過程中沉淀下來的一些實(shí)戰(zhàn)經(jīng)驗(yàn)分享。阿里云CDN目前也在邊緣云原生和云網(wǎng)一體化調(diào)度上做了很多技術(shù)上的演進(jìn),后面我們將持續(xù)給大家進(jìn)行相關(guān)分享,謝謝觀看。
原文鏈接:https://developer.aliyun.com/article/781424?
版權(quán)聲明:本文內(nèi)容由阿里云實(shí)名注冊(cè)用戶自發(fā)貢獻(xiàn),版權(quán)歸原作者所有,阿里云開發(fā)者社區(qū)不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。具體規(guī)則請(qǐng)查看《阿里云開發(fā)者社區(qū)用戶服務(wù)協(xié)議》和《阿里云開發(fā)者社區(qū)知識(shí)產(chǎn)權(quán)保護(hù)指引》。如果您發(fā)現(xiàn)本社區(qū)中有涉嫌抄襲的內(nèi)容,填寫侵權(quán)投訴表單進(jìn)行舉報(bào),一經(jīng)查實(shí),本社區(qū)將立刻刪除涉嫌侵權(quán)內(nèi)容。總結(jié)
以上是生活随笔為你收集整理的大促密集,CDN如何保障电商体验如丝般顺滑?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 宜泊科技阿里云,加速智慧停车产业数字化发
- 下一篇: 如何迁移 Flink 任务到实时计算