动态

详情 返回 返回

CDN動態加速路徑計算集羣間數據同步優化方法 - 动态 详情

本文分享自天翼雲開發者社區《CDN動態加速路徑計算集羣間數據同步優化方法》.作者:羅****斌

背景

實時路徑計算服務作為動態加速平台核心組件,針對動態交互數據無法緩存於邊緣節點,需要實時與客户源站進行交互,同時考慮客户接入點到客户源站之間複雜網絡情況以及客户源站突發峯值的不確定性,實時路徑計算服務能夠避開網絡擁塞、突發流量、源站服務壓力高、服務設備宕機等諸多不利因素導致丟包、響應慢、服務不穩定等問題,疊加壓縮傳輸、協議優化、鏈路複用等技術,承擔起動態加速平台的智能選路功能

路徑計算服務目前部署於全國三大區域機房內,每個區域內三台機器組成一個服務集羣,三大區域之間採用主備備模式,全網CDN邊緣主機組的基礎探測數據都往一個主區域內的路徑計算服務集羣上報,故障情況下由域名調度實現主備區域角色的切換來解決服務的高可用性,不能利用備區域實現分佈式計算及容錯能力

存在的問題

隨着CDN業務發展,邊緣主機組增多,基礎探測數據量增大,導致實時路徑計算服務壓力增大,此時只能橫向擴展服務,壓力還是存在於一個區域內的服務集羣裏,其它備區域服務集羣則很空閒,無法垂直擴展分攤壓力

基礎探測數據不能按區域就近上報,全網CDN邊緣主機組都往一個主區域內的服務集羣上報,如果某局部網絡故障,將導致此故障地區無法上報基礎探測數據和獲取最優路徑結果;如果不幸主區域內的服務集羣故障(主區域表示全網基礎探測數據都往此匯聚的區域,基礎探測數據是路徑計算的基礎數據),將導致主區域無法提供路徑計算服務。對於以上故障,如果進行邊緣節點域名調度切換到另一個備區域,由於各區域路徑計算集羣之間沒有實現數據同步,導致切過來的一段時間路徑計算不準確(缺少最新的各層級基礎探測數據),影響客户加速

優化目的

實現路徑計算服務在不同區域內的路徑計算服務集羣之間的數據同步功能,打破各區域數據孤島問題而導致的邊緣主機組基礎探測數據無法在各區域來回切換上報,並可以按區域實現垂直擴展,達到去中心化,解決高可用的同時,也提高了計算速度

各區域具備數據同步功能後,每一個區域內都是全量邊緣主機組的基礎探測數據(包括路徑的中間節點等),邊緣主機組基礎探測數據根據域名調度解析按區域就近上報(而不是隻上報到一個主區域),在故障情況下,可以通過域名調度切換到一個可用的區域,零時延切換為用户繼續提供準確的路徑計算服務

優化方法

整體服務架構

集羣間數據同步模塊

1.路徑計算服務接收到邊緣主機組上報的基礎探測數據和其它區域集羣同步過來的基礎探測數據

2.對收到的基礎探測數據,判斷是增量數據還是同步數據

3.1如果是增量數據,則進行路徑計算並下發結果,基礎探測數據存儲到本區域集羣

3.2增量數據同時也需要同步一份到其它區域,通過自定義消息格式控制數據的不同狀態,並使用grpc+proto數據協議同步到其它區域集羣

4.數據存儲模塊,存儲增量數據與同步數據

同步數據接收模塊

1.邊緣節點基礎探測數據開始上報

2.域名解析,查看上報區域是否發送改變

3.1如果上報區域發生改變,則上報到最新調整後的區域路徑計算服務,並開始路徑計算

3.2如果上報區域沒有改變,則上報到原有區域路徑計算服務

4.通過自定義消息格式控制數據的不同狀態,並使用grpc+proto數據協議同步到其它區域集羣

優點和效果

實現路徑計算服務在不同區域內的路徑計算服務集羣之間的數據同步功能,打破各區域數據孤島問題而導致的邊緣主機組基礎探測數據無法在各區域來回切換上報,並可以按區域實現垂直擴展,達到去中心化,解決高可用的同時,也提高了計算速度

各區域具備數據同步功能後,每一個區域內都是全量邊緣主機組的基礎探測數據(包括路徑的中間節點等),邊緣主機組基礎探測數據根據域名調度解析按區域就近上報(而不是隻上報到一個主區域),在故障情況下,可以通過域名調度切換到一個可用的區域,零時延切換為用户繼續提供準確的路徑計算服務

user avatar youfujidezhenzhishan 头像 TheFutureIsNow 头像 Serverless 头像
点赞 3 用户, 点赞了这篇动态!
点赞

Add a new 评论

Some HTML is okay.