世界盃百T級CDN智能流量調度系統的實戰分享

摘要: 在剛剛落幕的重慶雲棲上,阿里雲高級技術專家仔晟爲現場觀衆帶來議題《百T級CDN智能流量調度系統的實戰分享》,重點介紹了在世界盃直播業務場景之下,阿里雲CDN的產品架構、技術方案與客戶實踐。算法

在剛剛落幕的重慶雲棲上,阿里雲高級技術專家曾福華爲現場觀衆帶來議題《百T級CDN智能流量調度系統的實戰分享》,重點介紹了在世界盃直播業務場景之下,阿里雲CDN的產品架構、技術方案與客戶實踐。緩存

圖片描述

曾福華老師的分享從CDN系統相關介紹、智能調度產品、世界盃場景優化三個方面展開。網絡

CDN系統相關介紹
在最開始,曾福華老師講到,阿里雲CDN正式商業化是在2014年3月份,到了2015年2月份,CDN智能調度正式上線。通過這麼多年的商業化,支持數次阿里集團雙11,外部的春晚洪峯流量,以及今年的世界盃,阿里雲CDN現在已經具有規模化、自動化、智能化、PaaS化這幾大特色。「阿里雲CDN帶寬儲備120T+,在全球擁有1500多個節點,服務30多萬客戶。如此龐大的資源與業務體系,其實內部只有2名運維,所有依賴着智能化、自動化的調度系統來完成。」架構

下圖爲CDN系統架構,與大部分提供CDN服務的廠商大體相同,分爲緩存系統,調度系統和支撐系統。可是阿里雲CDN與其餘廠商主要區別在於全部的軟件基本都是自研的和阿里深度參與的開源項目,好比LVS和Tengine。負載均衡

圖片描述

智能調度產品
CDN智能調度主要有三個核心組件:
第一個是資源規劃,這是給每一個業務分配節點的環節,在傳統廠商更可能是人工去解決的,在阿里雲只有2個運維在作調度相關工做,具體各個業務跑在哪裏節點上是由智能調度系統解決。今天咱們已經作到,15%業務彈性自動化兼容,節點水位可以平穩跑到80%。運維

第二個是精準控流,阿里雲基於全球LDNS進行畫像和基於分鐘級別日誌精準分析基礎上的流量預測,流控系統的策略帶寬和實際帶寬能夠控制誤差在5%之內。優化

第三個是調度執行器,首先是調度策略是秒級生效,另一個特色全部調度執行器都是雙異構並行方案,如同飛機引擎同樣,即便一個引擎壞了,另外一個引擎也能夠立刻啓動,保障業務穩定性。阿里雲

圖片描述

資源規劃
智能化資源規劃是雲CDN和傳統CDN最大的差異所在,資源規劃是一個多目標的運籌優化問題,第一是如何解決資源合理分配的問題;第二是自動化確保業務快速接入,資源規劃天天進行對應的調整保障大客戶接入作到天級別;第三是要賦予業務必要的彈性,應對客戶業務的流量上漲;第四點是流控自由度,資源規劃是一個離線程序,要給實時調度提供的調度自由度;第五點是全網1500個節點裏作負載均衡,全部節點的流量和負載趨勢趨同,水位齊漲,智能化資源規劃保障有限資源承接更多的業務。spa

圖片描述

第六點是追求規模優點下的成本最優;除了這些點以外,資源規劃還須要考慮業務特色作CPU,存儲等傾向性選擇, 同時須要保障運維資源管理的易用性。線程

曾福華老師現場用一張圖來詳細進行闡述,這個格子是CDN的節點,一個格子裏面有四個小格子,他有不一樣的分組,還有幾條黑線幾個節點鏈接起來了,哪些業務應該在哪些節點、分組上去跑。而實際線上是30萬以上的業務和1500以上的節點之間的組合,複雜程度很是高,爲了簡化示意圖的左邊是兩個直播、點播的調度域,中間是四個節點,這四個節點裏面,分別都有一些機器分組。而後左邊的調度域在各個區域的業務流量須要分配到中間各個節點、分組上,咱們指望全部的節點水位均衡,儘可能處於大體同一個水位上。

圖片描述

精準控流
如何實時的進行精準控流,任何CDN廠商都要面臨這個問題,是CDN最基礎的核心能力。下圖左邊是節點的列表,右邊是業務的列表,這個節點列表和業務列表的對應關係是通過資源規劃系統大體離線算出來,哪些業務當前時刻跑在哪些節點上,這是實時精準流控來決定的,從圖看上去像網絡流同樣,但實際上用網絡流的辦法解決精準問題有一些侷限性。

圖片描述

曾福華老師現場也與觀衆一同從新認識了運營商的LDNS, 剖析了經過LDNS調度沒法作到按任意比例的流量分攤到多個節點的具體緣由。

圖片描述

談到調度,曾福華老師現場作了一個比喻,一個裝了不少冰塊和水的杯子,若是咱們要把杯子裏面的狹小空間所有用上,咱們先要把冰塊放進去,再倒液態水。前文剛剛講到的DNS的協議限制,相似冰塊。其餘別的調度形式,好比IP調度,能夠作好請求級別的調度,也就是支持任意比例的負載均衡,就像液態水同樣。

圖片描述

因此,在智能調度的場景裏,也須要把「固體」和「液體」結合起來考慮,才能作到全部的節點、水位的精準控制。

另外經過實踐,阿里雲CDN的智能調度能夠精準預測流量,在10分鐘內的預測的精準度到98%,一小時的精準度95%以上。 綜上幾個方面的特性,CDN流控的精準度大體能控制在5%左右。

世界盃場景下的調度優化
接下來分享世界盃場景下CDN調度的優化,今年俄羅斯世界盃應該是有史以來最大規模在線觀看的體育賽事了,而阿里雲CDN今年承載國內世界盃網絡直播70%+流量。整個護航過程當中,咱們面臨了幾大挑戰:
第一個挑戰是優酷拿到的轉播權是5月底到6月初,6月中旬就要開賽直播,前期籌備時間很是短,而新資源在陸續交付,對咱們的挑戰仍是挺大的。

面對這個挑戰,咱們有如下幾點優點:
1、規模化共享資源池,最充分使用空閒資源
與傳統CDN廠商不一樣的是,阿里雲全部的資源池是在一塊兒共享的,離線資源規劃程序天天運算,用來保證空閒資源的充分使用,在資源緊張時儘可能把全部空閒資源都使用上,若是像傳統CDN廠商把硬件資源隔離開分到不一樣業務上,當這麼巨大業務短時間內要上來的時候是沒有辦法完成空閒資源的集中使用的。

2、天級離線資源規劃,確保業務能快速接入
離線規劃能夠按天級別,這樣業務接起來會比較快,天天能夠預估次日的峯值量,這樣只要咱們預測誤差不大的狀況下,能夠確保次日平穩的跑下來。

3、時級資源局部調整,資源層動態水位均衡
若是對於流量的預測誤差致使流控沒法合理分配的問題,採用小時級別的局部的資源調整,來保證總體資源的動態平衡。

4、高效流量仿真平臺,資源規劃結果可驗證
不論是天級別的資源規劃,仍是小時級別的資源規劃,均可以經過仿真系統,確認每一次調整的效果,也能夠針對仿真系統的結果不斷迭代到咱們須要的結果。

第二個挑戰,在碼率瞬間變大比較大的狀況下,常規的流量預測算法失算了,進而會干擾流控程序, 這個問題咱們是怎麼解的?阿里雲使用了一個黑科技——AI預測+智能鎖定,大體思路是預測的不是10分鐘後的業務量,而是預測這場比賽的峯值業務量是多少。

圖片描述

上圖畫了不少格子,最左邊的格子開賽前的時間,世界盃還沒開始的時候,咱們會根據峯值預測量鎖定必定比例的帶寬空間,這樣這部分帶寬空間不會被別的業務量搶佔致使世界盃的卡頓。當每場次的比賽開播後一段時間,流量上漲很是快,這個鎖定量基本上保證了前面流量攀升比較劇烈的20分鐘的節點帶寬是充足的,能夠給世界盃提供流暢的帶寬保障。等到比勝過了20分鐘之後,就是整個流量流量上漲變平緩了許多,接下來咱們始終保證世界盃當時的業務量,或者說這場比賽達到的最高峯值和整個鎖定量之間保留必定的差距,如上圖中黃色區域表明的鎖定量,經過這種方式咱們解決了世界盃賽事的一個流暢保障問題。

第三個挑戰就是阿里雲有1500多個節點,面對世界盃業務幾個域名特大業務流量,如何作到節點不跑超跑低兩極分化,總體水位比較一直狀態?

解法是HTTPDNS跟DNS調度要組合起來作調度,在世界盃的業務場景中就是很好應用了這個組合。在下圖咱們能夠看到,好比經過優酷各端兼容HTTPDNS,那麼流控就像控制水流,和不兼容HTTPDNS的WEB端DNS調度組合,咱們就作到了比較好的節點水位精準控流。

圖片描述

以上就是2018俄羅斯世界盃期間,百T級別CDN智能流量調度系統的一些實戰經驗分享。

原文連接

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

相關文章
相關標籤/搜索