摘要:?在剛剛落幕的重慶云棲上,阿里云高級技術專家仔晟為現(xiàn)場觀眾帶來議題《百T級CDN智能流量調(diào)度系統(tǒng)的實戰(zhàn)分享》,重點介紹了在世界杯直播業(yè)務場景之下,阿里云CDN的產(chǎn)品架構、技術方案與客戶實踐。
在剛剛落幕的重慶云棲上,阿里云高級技術專家曾福華為現(xiàn)場觀眾帶來議題《百T級CDN智能流量調(diào)度系統(tǒng)的實戰(zhàn)分享》,重點介紹了在世界杯直播業(yè)務場景之下,阿里云CDN的產(chǎn)品架構、技術方案與客戶實踐。
曾福華老師的分享從CDN系統(tǒng)相關介紹、智能調(diào)度產(chǎn)品、世界杯場景優(yōu)化三個方面展開。
CDN系統(tǒng)相關介紹
在最開始,曾福華老師講到,阿里云CDN正式商業(yè)化是在2014年3月份,到了2015年2月份,CDN智能調(diào)度正式上線。經(jīng)過這么多年的商業(yè)化,支持數(shù)次阿里集團雙11,外部的春晚洪峰流量,以及今年的世界杯,阿里云CDN如今已經(jīng)具備規(guī)?;⒆詣踊?、智能化、PaaS化這幾大特點?!鞍⒗镌艭DN帶寬儲備120T+,在全球擁有1500多個節(jié)點,服務30多萬客戶。如此龐大的資源與業(yè)務體系,其實內(nèi)部只有2名運維,全部依賴著智能化、自動化的調(diào)度系統(tǒng)來完成?!?/p>
下圖為CDN系統(tǒng)架構,與大部分提供CDN服務的廠商大致相同,分為緩存系統(tǒng),調(diào)度系統(tǒng)和支撐系統(tǒng)。但是阿里云CDN與其他廠商主要區(qū)別在于所有的軟件基本都是自研的和阿里深度參與的開源項目,比如LVS和Tengine。
智能調(diào)度產(chǎn)品
CDN智能調(diào)度主要有三個核心組件:
第一個是資源規(guī)劃,這是給每個業(yè)務分配節(jié)點的環(huán)節(jié),在傳統(tǒng)廠商更多是人工去解決的,在阿里云只有2個運維在做調(diào)度相關工作,具體各個業(yè)務跑在哪里節(jié)點上是由智能調(diào)度系統(tǒng)解決。今天我們已經(jīng)做到,15%業(yè)務彈性自動化兼容,節(jié)點水位能夠平穩(wěn)跑到80%。
第二個是精準控流,阿里云基于全球LDNS進行畫像和基于分鐘級別日志精準分析基礎上的流量預測,流控系統(tǒng)的策略帶寬和實際帶寬可以控制偏差在5%以內(nèi)。
第三個是調(diào)度執(zhí)行器,首先是調(diào)度策略是秒級生效,另外一個特點所有調(diào)度執(zhí)行器都是雙異構并行方案,如同飛機引擎一樣,即使一個引擎壞了,另一個引擎也可以馬上啟動,保障業(yè)務穩(wěn)定性。
資源規(guī)劃
智能化資源規(guī)劃是云CDN和傳統(tǒng)CDN最大的差別所在,資源規(guī)劃是一個多目標的運籌優(yōu)化問題,第一是如何解決資源合理分配的問題;第二是自動化確保業(yè)務快速接入,資源規(guī)劃每天進行對應的調(diào)整保障大客戶接入做到天級別;第三是要賦予業(yè)務必要的彈性,應對客戶業(yè)務的流量上漲;第四點是流控自由度,資源規(guī)劃是一個離線程序,要給實時調(diào)度提供的調(diào)度自由度;第五點是全網(wǎng)1500個節(jié)點里做負載均衡,所有節(jié)點的流量和負載趨勢趨同,水位齊漲,智能化資源規(guī)劃保障有限資源承接更多的業(yè)務。
第六點是追求規(guī)模優(yōu)勢下的成本最優(yōu);除了這些點之外,資源規(guī)劃還需要考慮業(yè)務特點做CPU,存儲等傾向性選擇, 同時需要保障運維資源管理的易用性。
曾福華老師現(xiàn)場用一張圖來詳細進行闡述,這個格子是CDN的節(jié)點,一個格子里面有四個小格子,他有不同的分組,還有幾條黑線幾個節(jié)點連接起來了,哪些業(yè)務應該在哪些節(jié)點、分組上去跑。而實際線上是30萬以上的業(yè)務和1500以上的節(jié)點之間的組合,復雜程度非常高,為了簡化示意圖的左邊是兩個直播、點播的調(diào)度域,中間是四個節(jié)點,這四個節(jié)點里面,分別都有一些機器分組。然后左邊的調(diào)度域在各個區(qū)域的業(yè)務流量需要分配到中間各個節(jié)點、分組上,我們期望所有的節(jié)點水位均衡,盡量處于大致同一個水位上。
精準控流
如何實時的進行精準控流,任何CDN廠商都要面臨這個問題,是CDN最基礎的核心能力。下圖左邊是節(jié)點的列表,右邊是業(yè)務的列表,這個節(jié)點列表和業(yè)務列表的對應關系是經(jīng)過資源規(guī)劃系統(tǒng)大致離線算出來,哪些業(yè)務當前時刻跑在哪些節(jié)點上,這是實時精準流控來決定的,從圖看上去像網(wǎng)絡流一樣,但實際上用網(wǎng)絡流的辦法解決精準問題有一些局限性。
曾福華老師現(xiàn)場也與觀眾一同重新認識了運營商的LDNS, 剖析了通過LDNS調(diào)度無法做到按任意比例的流量分攤到多個節(jié)點的具體原因。
談到調(diào)度,曾福華老師現(xiàn)場做了一個比喻,一個裝了很多冰塊和水的杯子,如果我們要把杯子里面的狹小空間全部用上,我們先要把冰塊放進去,再倒液態(tài)水。前文剛剛講到的DNS的協(xié)議限制,類似冰塊。其他別的調(diào)度形式,比如IP調(diào)度,可以做好請求級別的調(diào)度,也就是支持任意比例的負載均衡,就像液態(tài)水一樣。
所以,在智能調(diào)度的場景里,也需要把“固體”和“液體”結合起來考慮,才能做到所有的節(jié)點、水位的精準控制。
另外通過實踐,阿里云CDN的智能調(diào)度可以精準預測流量,在10分鐘內(nèi)的預測的精準度到98%,一小時的精準度95%以上。 綜上幾個方面的特性,CDN流控的精準度大致能控制在5%左右。
世界杯場景下的調(diào)度優(yōu)化
接下來分享世界杯場景下CDN調(diào)度的優(yōu)化,今年俄羅斯世界杯應該是有史以來最大規(guī)模在線觀看的體育賽事了,而阿里云CDN今年承載國內(nèi)世界杯網(wǎng)絡直播70%+流量。整個護航過程中,我們面臨了幾大挑戰(zhàn):
第一個挑戰(zhàn)是優(yōu)酷拿到的轉播權是5月底到6月初,6月中旬就要開賽直播,前期籌備時間非常短,而新資源在陸續(xù)交付,對我們的挑戰(zhàn)還是挺大的。
面對這個挑戰(zhàn),我們有以下幾點優(yōu)勢:
一、規(guī)模化共享資源池,最充分使用空閑資源
與傳統(tǒng)CDN廠商不同的是,阿里云所有的資源池是在一起共享的,離線資源規(guī)劃程序每天運算,用來保證空閑資源的充分使用,在資源緊張時盡量把所有空閑資源都使用上,如果像傳統(tǒng)CDN廠商把硬件資源隔離開分到不同業(yè)務上,當這么巨大業(yè)務短期內(nèi)要上來的時候是沒有辦法完成空閑資源的集中使用的。
二、天級離線資源規(guī)劃,確保業(yè)務能快速接入
離線規(guī)劃可以按天級別,這樣業(yè)務接起來會比較快,每天可以預估第二天的峰值量,這樣只要我們預測偏差不大的情況下,可以確保第二天平穩(wěn)的跑下來。
三、時級資源局部調(diào)整,資源層動態(tài)水位均衡
如果對于流量的預測偏差導致流控無法合理分配的問題,采用小時級別的局部的資源調(diào)整,來保證整體資源的動態(tài)平衡。
四、高效流量仿真平臺,資源規(guī)劃結果可驗證
不管是天級別的資源規(guī)劃,還是小時級別的資源規(guī)劃,都可以通過仿真系統(tǒng),確認每一次調(diào)整的效果,也可以針對仿真系統(tǒng)的結果不斷迭代到我們需要的結果。
第二個挑戰(zhàn),在碼率瞬間變大比較大的情況下,常規(guī)的流量預測算法失算了,進而會干擾流控程序, 這個問題我們是怎么解的?阿里云使用了一個黑科技——AI預測+智能鎖定,大致思路是預測的不是10分鐘后的業(yè)務量,而是預測這場比賽的峰值業(yè)務量是多少。
上圖畫了很多格子,最左邊的格子開賽前的時間,世界杯還沒開始的時候,我們會根據(jù)峰值預測量鎖定一定比例的帶寬空間,這樣這部分帶寬空間不會被別的業(yè)務量搶占導致世界杯的卡頓。當每場次的比賽開播后一段時間,流量上漲非???,這個鎖定量基本上保證了前面流量攀升比較劇烈的20分鐘的節(jié)點帶寬是充足的,可以給世界杯提供流暢的帶寬保障。等到比賽過了20分鐘以后,就是整個流量流量上漲變平緩了許多,接下來我們始終保證世界杯當時的業(yè)務量,或者說這場比賽達到的最高峰值和整個鎖定量之間保留一定的差距,如上圖中黃色區(qū)域代表的鎖定量,通過這種方式我們解決了世界杯賽事的一個流暢保障問題。
第三個挑戰(zhàn)就是阿里云有1500多個節(jié)點,面對世界杯業(yè)務幾個域名特大業(yè)務流量,如何做到節(jié)點不跑超跑低兩極分化,整體水位比較一直狀態(tài)?
解法是HTTPDNS跟DNS調(diào)度要組合起來做調(diào)度,在世界杯的業(yè)務場景中就是很好應用了這個組合。在下圖我們可以看到,比如通過優(yōu)酷各端兼容HTTPDNS,那么流控就像控制水流,和不兼容HTTPDNS的WEB端DNS調(diào)度組合,我們就做到了比較好的節(jié)點水位精準控流。
以上就是2018俄羅斯世界杯期間,百T級別CDN智能流量調(diào)度系統(tǒng)的一些實戰(zhàn)經(jīng)驗分享。
本文為云棲社區(qū)原創(chuàng)內(nèi)容,未經(jīng)允許不得轉載。
評論
查看更多