傳統CDN撞上天花板
就時間而言,自誕生到成為互聯網企業的剛需,CDN(內容分發網絡)僅用了20年。但在全世界CDN普及率不斷擴大的趨勢下,中國的普及率仍然相對低下。賽迪顧問的統計顯示,2015年,CDN在韓國的普及率達90%以上,在美國為80%以上,而這一數字在中國僅為50%左右。
盡管CDN已經成網站服務的標配,但由于計費不透明、安全性等問題,影響了它在中國的普及。尤為突出的是,一些企業不愿采用CDN的原因在于緩存內容更新的速度不能滿足其需求。
一般來說,通過自身的技術手段改善頁面,能在一定程度上避免內容更新速度不及時的問題。例如,把網站做成動態形式,內容就可以實時回源取得,無需依靠緩存。如果頁面的大部分內容為靜態,內容分發就需要依靠緩存,而緩存的更新具有滯后性,這時網站內容更新速度難以滿足企業的要求。例如,某新聞網站刊登的內容一旦出現錯誤或者被黑客篡改,為避免更嚴重的事態,全網內容需要即時更新,那么傳統的CDN緩存機制就暴露出其更新速度慢的缺陷。
1
消息隊列的局限
在傳統CDN的緩存機制中,全網內容更新基于消息隊列的形式實現。當內容更新時,由一臺中心服務器管理上千臺設備,中心需要確認所有設備的狀態和跟蹤設備的推送情況,當設備失敗時需要重試。通過設備跟蹤、失敗重傳的方式,系統可以實現一次內容在全網的更新完成。通常問題如下:
1. 內容更新有可能同時涉及到數量龐大的URL,消息隊列處理一條URL所用時間一般在上萬毫秒級別,一次全網內容的完整更新則需要數分鐘甚至數十分鐘,平均需要5分鐘左右,這樣的時間顯然無法滿足企業需求;
2. 一旦網絡出狀況,以目前的網絡實際狀況來看,傳統內容更新方式有可能出現部分服務器在任務有效時間內無法獲取更新。此時,中心收到跟蹤反饋后會重傳,最終效率還要再打折扣;
3. 消息隊列只通過任務開始的時間順序對任務進行排隊處理,而任務更新的緊迫程度往往和任務開始的時間順序不相符,這導致任務更新的不公平。
2
優化路徑為何失敗
如果從精準度上針對消息隊列算法進行優化,可以滿足企業對內容更新速度的要求。目前可以實現的優化路徑,一種是通過域名鏈,即DNS區域覆蓋的方式探知為客戶服務的設備。這樣可以只針對為客戶服務的設備進行內容更新,更具精確性,因此減少了不必要的工作。另外,可以通過邊緣節點向中心服務器主動發出更新詢問的方式進行內容更新。
這兩種優化方式一般疊加使用,其效果可以將更新時間從5分鐘優化至1分鐘左右。這種效果雖然顯著,但對于傳統企業來說,5分鐘或1分鐘都達不到對內容即時更新的需求。
3
即時更新的突破口
SHAQUE技術由白山的技術團隊自主研發,解決了傳統CDN技術上速度和效率不能兼得的問題。SHAQUE技術是借鑒蟻群效應中的模擬進化算法和P2P對等技術,利用智能優化算法和peer節點的松散耦合性,使所有存儲服務器上的文件可以在極短的時間內完成內容更新,進而保障緩存服務器上的用戶不管在瀏覽還是在交互上都有質的飛躍。
P2P是依賴于網絡中參與者的計算能力和帶寬,由多臺客戶端計算機通過直接交換,來共享計算機資源和服務的技術。在P2P架構中,千萬臺彼此連接的計算機都處于對等的地位。網絡中的每臺計算機既充當網絡的請求者,又能對其它計算機的請求做出響應,提供資源和服務。
至今演進到了第三代的P2P技術是一種結構性的分布式網絡架構,它適用于P2P的網絡結構拓撲也逐漸變多。比較流行的有DHT結構、樹形結構和網狀結構。SHAQUE技術利用的是雙層P2P網狀結構,其為P2P提供了最大的容忍性和動態適應性。
全網設備按物理區域分成數個區域網絡,每個區域網絡根據選舉算法選擇一個leader,同時將這些leader組成一個網絡。這樣一來,全網服務器都成為周圍服務器的中心,讓內容病毒式擴散,再根據終止反饋使算法收斂,讓整個系統形成全中心結構的無隊列消息推送機制,這時候對于所有機器來講,其收到更新內容和反饋的時間就等于機器之間的TTL時間,一般在數毫秒到數十毫秒內。
蟻群算法的基本思想是正反饋與分布式協作,單體通過簡單的指令選擇更好路徑,而這一選擇又使得整體路徑的被選擇機會更大,最終使整體涌現出最優路徑選擇。蟻群算法是一種漸進式收斂算法,這種收斂算法的收斂速度與解的質量遠遠高出其它搜索算法。SHAQUE技術融合蟻群算法,利用整體路徑優化的特性,優化內容傳播的路徑,最終使每臺服務器都能不斷通過反饋得到其能推送到的最快服務器組。
4
推送1秒內完成
借助SHAQUE技術,白山的服務器每天可以處理上千萬條URL,每條的處理都在1秒之內。
病毒式推送機制的缺點是當設備數量增多時全網更新速度會減慢。但經過反復實驗,500臺設備的推送時間為600毫秒,千臺設備的推送時間是700毫秒。一般超大型CDN廠商的全網服務器為上萬臺,其速度仍然可控制在1秒之內。
隨著設備的持續增加,SHAQUE智能識別模塊還可進行橫向擴展,即只推送給為客戶服務的設備,從而使SHAQUE技術長久保持“秒推”效果。