【杭州雲棲】阿里雲高級技術專家劉廷偉:全球CDN服務質量優化最佳實踐

阿里雲CDN服務客戶超過30萬,擁有遍佈6大洲、70多個國家地區的1500多個節點,帶寬能力超過120T,是國內唯一獲得Gartner評級Global的廠商。隨着業務和節點帶寬的增長,服務質量優化是一個值得探討課題。在杭州雲棲大會-飛天技術匯CDN與邊緣計算專場中,阿里雲高級技術專家劉廷偉與現場觀衆一同交流了CDN服務質量優化的技術實踐。

image

阿里雲全球CDN發展歷程

阿里雲CDN是在2006年起源於淘寶自建CDN,從爲淘寶提供圖片、網頁等小文件的加速服務,並逐步開始服務整個阿里集團內部業務。2014年3月,阿里雲CDN正式對外商業化,從商業化之初,就非常關注產品標準化,提供了完善的控制檯和API,用戶可以與使用其他雲資源一樣,即買即用。

在此之後的幾年內,阿里雲CDN陸續發佈了極速CDN6.0、PCDN、SCDN、DCDN等產品,在今年三月,被Gartner發佈最新全球CDN服務市場指南《Market Guide for CDN Services》評級爲Global,並在今年夏天,承擔了70%的世界盃直播流量。

而伴隨着業務和節點帶寬的增長,服務質量的問題也會隨之凸顯。劉廷偉說:“當我們討論服務質量優化的時候,需要從整個生態系統的角度來考慮,結合技術和行業背景,尋找所有可能優化的方向。當時就感覺像這種圖,目標就在前方,但是怎麼也走不出去。於是我們團隊靜下心來,決定徹底解決服務質量的問題。”

image

下圖是一個簡化的CDN邏輯架構圖,從圖中可以看出CDN是一套完備的生態系統。從用戶訪問的路徑來看,這套生態系統的每個環節都有哪些子系統。首先是運營商的LDNS,然後是CDN的調度系統,通過這兩個環節給用戶分配一個最近的節點,這屬於調度子系統。當用戶訪問到達邊緣節點,從邊緣節點上獲取對應的直播、點播、下載、動態、實時音視頻等內容,這是緩存系統在工作,再之後就是緩存節點之間、節點到用戶、節點到源站之間的數據傳輸,這屬於鏈路質量系統的工作。最後一個部分是配置、數據、監控相關的支撐系統。

image

劉廷偉老師重點圍繞調度、鏈路質量和天眼監控展開分享,在短短半個小時之內將整個CDN生態系統中的服務質量優化實踐做了非常生動精彩地講解,現場觀衆紛紛表示受益頗多。

一.調度子系統優化

調度要解決的問題,就是將用戶調度到離用戶最近的健康節點。這其中,最關鍵的就是節點覆蓋的能力,其次纔是調度,另外一個就是流控。

節點覆蓋

劉廷偉老師講到:節點的覆蓋並不是單純的建設,選點和度量是非常關鍵的,它可以讓節點更好的覆蓋用戶。阿里雲從17年開始大規模進行海外節點的建設,300+海外節點,滿足國內用戶出海加速和海外用戶加速的需求。

image

調度 - LDNS

公共LDNS或者用戶LDNS配置錯誤等問題,會導致用戶無法正確調度到最近的節點,導致服務質量下降。針對這個問題,對於APP端的應用,阿里雲提供HTTPDNS的方式解決;對於網頁等無法實現HTTPDNS的,通過302調度/糾偏解決。當用戶請求到邊緣節點後,如果由於LDNS問題沒有調度到最近的節點,這時候節點會對大文件進行302糾偏,將用戶調度到最近的節點。

“另外一個就是LDNS的畫像,我們看到不同的LDNS在輪詢、forward和TTL的處理上都是不同的,包括LDNS的前後端IP的比例也是不同的。我們不可能要求LDNS都按照我們的要求來吐出策略,但是我們可以按照LDNS的特點,調整我們的吐出策略。有人說既然302可以糾偏,那幹嘛還有跟LDNS過不去啊,就讓他隨便調度吧,是不是?“劉廷偉認爲:”答案一定是否定的,一次302調度對時間是一個RTT 20ms左右,不要小看這20ms,我們針對圖片小文件服務質量優化的時候,都是按照1-2ms挖掘優化的。一個1K的圖片,整個處理響應時間就是10-15ms左右,增加一個20ms,意味着性能下降一半,因爲這個性能下降,我們客戶的用戶轉化率下降10%,這是無法忍受的。”

流控

流控的自動化和智能化是雲CDN和普通CDN的最大區別之一,1000多個節點,數十萬機器,100T+的流量,怎麼將流量均衡的調度到用戶最優的節點,靠人是完不成的。何況整個阿里雲CDN調度的運維同學只有2個人,這意味着阿里雲CDN必須要高度的自動化和智能化,才能完成精準的流量調度。這塊優化方案有兩個,一個是離線規劃,根據歷史流量的趨勢進行預測調度;一個是實時調度,針對突發業務特點進行流量規劃。

image

那麼怎麼做離線和實時呢?我們把每個節點比喻成一個瓶子,調度流量是砂石。那麼DNS流量特點就非常像大石頭,而HTTPDNS和302流量就像是沙子,調度的力度可以到具體的問題。離線規劃重點是大塊的DNS流量,實時流控就是HTTPDNS和302流量,兩者結合,保證每個節點水位均衡,每個用戶也都調度到最優的節點。阿里雲流控系統不僅很好的支持常態的CDN業務,也經受住了雙11、春晚和世界盃活動類突發流量的考驗。

二. 鏈路子系統優化

image

接下來劉廷偉老師帶着現場觀衆走進了鏈路質量優化。鏈路子系統要解決的問題,就是在現有的網絡鏈路上,如何高效的傳輸數據。

固定單向鏈路下的優化方案 - 協議棧優化

協議棧優化的目標是什麼? 場景不同,優化的方向不同,要考慮成本、性能、公平性的均衡。在面向用戶這段的鏈路,爲了保證用戶的服務質量,阿里雲犧牲了部分成本,通過調整擁塞算法,丟包探測算法,將協議棧的性能提升了30%。
image

路由決策

劉廷偉老師生動的比喻:“如果說CDN的節點網絡是高速公路,那麼路由決策就是高德地圖。爲用戶的每一個動態請求,決策從最近接入點到用戶源站的最優路徑。”

image

當打開高德地圖,進行阿里中心到北京南站的高德路線規劃的時候,我們可以發現:

第一,每個鏈路上每段路的擁堵程度也都標註了,這就相當於網絡質量實時探測。
第二,高德爲我們規劃了3條路。這就相當於選路,CDN也會給出源站內容到用戶之間最短的3條路徑做選擇。
第三,高德地圖給出來高速優先、躲避擁堵等選項,還有我們特色的限號區域。這就相當於鏈路親和性,比如源站在鐵通,CDN就可以接鐵通。

四、天眼系統

image

天眼系統的目標就是第一時間發現和診斷質量問題,並將處理經驗自動化。主要包括兩塊,第一時間發現問題 - 監控,和發現後的處理經驗自動化 - 告警處理。

監控

監控的核心就是數據源。談到數據源,大家首先想到的就是業務日誌,這些業務帶寬、QPS、命中率等數據,這個是這個域名的請求處理時間數據。這些數據可以進行基本的業務監控。
如果這時候某個地區運營商服務質量下降,業務正常,只是下載速度慢了。通過這種數據就沒法進行判斷了。需要網絡層面的度量數據。

image

網絡數據包括丟包率、RTT、建連時間、平均請求大小等數據都是在內核層面進行採集。這些可以對下載類的業務進行基礎的判斷。如果直播的客戶卡頓,監控如何發現是哪裏的原因呢?這就需要全鏈路監控,阿里雲實現了直播全鏈路全域的數據監控體系。

告警處理

有了數據之後,大家都知道根據數據添加告警就可以了,是不是這樣告警就結束了呢?
隨着業務發展,針對各種各樣的數據源來配置告警,導致告警越來越多,告警氾濫,根本無法有效處理,所以第一個要解決的問題就是告警的準確性和收斂。

如何進行告警收斂?

1、根據業務特點和告警時的異常事件進行關聯和合並,降低重複報警
2、告警處理工單化,同時對工單進行跟蹤處理和統計
3、告警分級,這個非常關鍵。不同級別的工單不同的通知方式、通知訪問和響應時間要求。比如高優先級的告警,必須保證及時性、準確性響應時間;對於底優先級的告警,更多關注告警後續的跟蹤和處理率。

雖然進行了告警收斂,但是還是會發現依靠人來處理還是有滯後,需要具備自動化的能力。自動化能力其實就是人工處理經驗的機械化,將問題出現後排查的方式、數據和手段機械化,將問題修復的操作程序化。

比如針對直播業務,對於卡頓非常敏感,對於處理時間的響應要求也非常高。於是就將卡頓排除的手段和處理程序化,當有問題出現的時候,直接告警通知問題發生了、問題發生的原因是什麼、這個問題的原因應該執行的修復策略是什麼。

一個是自動化處理陷阱,不要天真的以爲所有的事情都可以自動化,很多時候簡單的自動化會給系統埋下巨大的坑。比如節點故障的隔離,如果1500個節點,有1000個節點監測出問題了,怎麼辦?自動化處理下線修復?那剩下的500個節點就被流量打爆了。一定要給自動化安個熔斷器,做到可控的自動化。
一個是自動化窮舉的問題,你不可能所有的自動化都是人工經驗的簡單重複,需要讓自動化去自學習,通過機器學習的能力,利用告警異常數據,自己成長出未知問題的處理能力。

五、客戶案例

除了分享純粹的技術乾貨,劉廷偉老師現場也介紹了幾個具體的客戶案例,讓觀衆更有體感。

第一個案例是亞洲航空,阿里云爲亞航提供全球全站加速解決方案,針對動態數據進行路由優化及隧道服務,響應速度提升150%。

第二個案例是印尼本土電商Tokopedia, 印尼最大的C2C的網絡銷售平臺, 阿里云爲Tokopedia提供全鏈路HTTPS安全加速解決方案,在保障安全支付的同時,提升100%以上的加速效果,同時發揮雲CDN彈性擴容的優勢,在多次促銷活動輕鬆應對數十倍的活動突發。

第三案例是今日頭條,國內移動互聯網領域成長最快的產品,旗下有今日頭條、抖音、火山等深受用戶喜愛的產品,頭條技術團隊的能力也是國內領先的,阿里雲CDN跟頭條團隊一起,建立了端到端的短視頻質量監控體系,整個優化數據做到卡頓率、中斷率和失敗率總體低於1%。

最後一個客戶案例是虎牙,作爲國內領先的互動式直播平臺,阿里雲CDN和虎牙一起實現了端到端的直播全鏈路監控,可以實時監控和定位直播卡頓問題和原因,保證虎牙直播業務的流暢體驗。

在分享的最後,劉廷偉老師說到:“雖然我們在服務質量上做了很大的工作,但是還有很長的路要走,我們歡迎各位專家加入我們,一起做全球最好的CDN!”
https://yq.aliyun.com/articles/643450

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章