阿里雲高階技術專家空見: CDN的資料化之路

小資一夏發表於2017-10-17

想要實現優質高速的網際網路影片服務,一定離不開高質量的內容分發網路服務,就是我們常說的CDN,在10月13日雲棲大會影片多媒體分論壇上,阿里雲高階技術專家空見為大家講解了CDN服務過程中,資料處理、安全監測、日誌分析、智慧分析是如何為CDN賦能的。下面是演講主要內容提煉:


一、業務背景

目前阿里雲CDN的節點的數量超過1200個,可承載的頻寬能力超過80Tbps,基本能覆蓋國內一半的分發要求,海外的部署也是十分廣泛的。在產品方面,CDN包括PCDN、安全加速、全站加速等各種子產品,因為分析的場景不同,所以對資料平臺的擴充套件性也提出了更高的要求。從業務規模來看,阿里雲CDN現線上上跑著百萬級的域名,每個域名的分析都要做,比傳統CDN高了兩個量級。如此龐大的業務,對於使用者內容的分發是好事情,對資料的回收和分析,卻是一個不小的挑戰。

 

二、資料需求

CDN的資料有三個關鍵字:海量、可靠、實時。

海量,CDN目前每秒鐘有大幾千萬的資料訪問,每天會沉澱出來5PB的系統日誌,所以離線資料通常在EB級別,這個對實時計算和離線分析都有很大的壓力;在監控這塊阿里雲CDN每天達到千億級別,而且每年CDN資料增長都在100%之上,所以系統必須要有很強的擴充套件性,並提前設計好各個環節。

 

可靠,CDN的資料一定要是準確的,不能有毛刺的資料。因為資料的應用場景是很苛刻的,比如計費和監控,不能出現紕漏,不能漏報誤報。資料出來後,阿里雲CDN還要在全球範圍內排程流量,一絲一毫的不準確都可能導致很嚴重的後果,所以對於資料的準確性要求很高。第二是系統本身的穩定,系統各個環境不能有明顯的瓶頸,系統要有足夠強的容災能力,系統的自動恢復方案也要是充分的。

 

實時,在從前,阿里雲CDN是五分鐘分析一次資料,不管是計量還是計費,都以這個為標準。現在,因為有了更多的業務場景,以直播為例,如果一個主播推流斷掉了,不能馬上發現的話,影響的可能就是幾十、上百萬的使用者的觀看體驗。所以,在實時性上,阿里雲CDN現在能做到分鐘以及秒級的實時,也就是說,在整個資料的要求上來看,不僅吞吐量要大,延遲也要足夠低。

 

 

如此大規模的資料,如此嚴苛的要求,阿里雲CDN又如何應對呢?

 

三、資料收集

下面我們看看阿里雲CDN在資料收集方面是怎麼做的。現在整個系統資料量化的程度還是比較高的,不光是使用者的訪問資料,系統的運算元據也是可以量化的。下面是資料收集全貌圖: 


資料來源,有兩個方面,一個是左邊的節點,另一個是右邊的使用者。

 

先從從左邊的邊緣節點來看,它是從全球的邊緣節點去採集和處理,上面的資料大部分都是訪問、回源的日誌,節點之間互相探測的日誌等,在總資料中佔比80%以上。這裡的資料量級非常大,而且本身CDN就是分散式系統,所以阿里雲CDN將一部分資料分析工作在節點上就先完成了,比如通用的流量、命中率、QPS等指標,會在節點上做預處理,同時,全量的資料也會透過流式傳輸往資料中心去走。

 

右面是使用者資料,透過瀏覽器或SDK來訪問我們內容的使用者,還包括系統上的使用者,包括管理員管理配置、業務人員在後臺對線上資源進行調配等,一般這裡的資料直接透過流式傳輸平臺SLS客戶端直接發出。

 

在中心傳輸這一層,阿里雲CDN採用阿里雲本身的SLS產品,SLS支援對資料進行抽取、轉化、分發、檢索等功能,本身比較靈活,滿足了ETL的場景,並且可以在上面做一些客戶定製化的處理。SLS下來後,再用Blink對資料進行流式處理,它有一個好處就是中間狀態可以儲存,不需要應用和外部的第三方儲存再做互動,能夠滿足資料定製化分析的一些場景。原始的訪問及分析後的業務資料,最終會沉澱儲存在ODPS中。使用者也可以選擇其他儲存方式,比如可以提供檔案下載功能的物件儲存OSS。另外,時序資料也會存在OTS資料庫中,以備實時檢索。

 

以上的資料收集,基本上都是採用阿里雲的產品,阿里雲CDN的技術專家們只需要把系統串聯起來,保證整體可用性即可,如此,就能將更多精力集中在資料的分析和應用上了。

 

四、資料分析

在資料分析這塊,離線方面會做的輕一點,做運營報表和資料探勘。阿里雲CDN更多的是做實時資料分析。這兩個分析系統,會將資料最終彙集到專家系統,用於檢測這些資料有沒有異常,找到異常問題的定位。找到問題根源後,根據其他平臺產生的資料,關聯起來,用機器學習的演算法做一個問題的分類。



資料分析的使用場景包括:

自動化運維,透過機器資源、線上問題的收斂,阿里雲CDN目前只需要三個運維就足夠了;

智慧排程,實時根據大區、節點的情況,合理排程流量和進行節點建設;

使用者畫像,相當於給使用者提供一個體檢,給出當前服務的建議,最佳化業務;

事件中心,記錄當前節點上正在發生的事件,關注網路抖動和釋出情況。

 

 

五、資料應用

左邊是官網的截圖,使用者可以根據自己想要的維度,關注各類報表,看到CDN使用的情況。

中間是內部的監控系統,分鐘+秒級監控,用於問題的復排和打標。

右邊是事件的資料,顯示當前整個平臺的流量、事件等級和彙集情況等。



除了業務層資料,阿里雲CDN和阿里雲IDST聯合,對CDN上分發的文字、圖片、影片等內容進行鑑定,篩查涉黃等違規內容,防止IP被封。

 

六、總結

整個CDN資料化為了驅動系統,形成下發、執行、採集、分析的閉環。



在分享的最後,空見總結道:“從業務接入層,我們可以提供方便、快捷的接入環境;在策略執行層,我們可以快速把操作釋出到線上,達到秒級生效;在資料生產層,我們將把所有的系統都量化起來,採集到海量、有效的資料;在決策中心層,我們相應對資料進行收斂,只關注關鍵資料指標,整個是一個閉環的過程。有了資料化的系統,後面的自動化、智慧化才有更多發揮的空間。”

 


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29779867/viewspace-2146066/,如需轉載,請註明出處,否則將追究法律責任。

相關文章