CDN動態加速路徑計算集群間數據同步優化方法
本文分享自天翼云開發者社區《CDN動態加速路徑計算集群間數據同步優化方法》.作者:羅****斌
背景
實時路徑計算服務作為動態加速平臺核心組件,針對動態交互數據無法緩存于邊緣節點,需要實時與客戶源站進行交互,同時考慮客戶接入點到客戶源站之間復雜網絡情況以及客戶源站突發峰值的不確定性,實時路徑計算服務能夠避開網絡擁塞、突發流量、源站服務壓力高、服務設備宕機等諸多不利因素導致丟包、響應慢、服務不穩定等問題,疊加壓縮傳輸、協議優化、鏈路復用等技術,承擔起動態加速平臺的智能選路功能
路徑計算服務目前部署于全國三大區域機房內,每個區域內三臺機器組成一個服務集群,三大區域之間采用主備備模式,全網CDN邊緣主機組的基礎探測數據都往一個主區域內的路徑計算服務集群上報,故障情況下由域名調度實現主備區域角色的切換來解決服務的高可用性,不能利用備區域實現分布式計算及容錯能力
存在的問題
隨著CDN業務發展,邊緣主機組增多,基礎探測數據量增大,導致實時路徑計算服務壓力增大,此時只能橫向擴展服務,壓力還是存在于一個區域內的服務集群里,其它備區域服務集群則很空閑,無法垂直擴展分攤壓力
基礎探測數據不能按區域就近上報,全網CDN邊緣主機組都往一個主區域內的服務集群上報,如果某局部網絡故障,將導致此故障地區無法上報基礎探測數據和獲取最優路徑結果;如果不幸主區域內的服務集群故障(主區域表示全網基礎探測數據都往此匯聚的區域,基礎探測數據是路徑計算的基礎數據),將導致主區域無法提供路徑計算服務。對于以上故障,如果進行邊緣節點域名調度切換到另一個備區域,由于各區域路徑計算集群之間沒有實現數據同步,導致切過來的一段時間路徑計算不準確(缺少最新的各層級基礎探測數據),影響客戶加速
優化目的
實現路徑計算服務在不同區域內的路徑計算服務集群之間的數據同步功能,打破各區域數據孤島問題而導致的邊緣主機組基礎探測數據無法在各區域來回切換上報,并可以按區域實現垂直擴展,達到去中心化,解決高可用的同時,也提高了計算速度
各區域具備數據同步功能后,每一個區域內都是全量邊緣主機組的基礎探測數據(包括路徑的中間節點等),邊緣主機組基礎探測數據根據域名調度解析按區域就近上報(而不是只上報到一個主區域),在故障情況下,可以通過域名調度切換到一個可用的區域,零時延切換為用戶繼續提供準確的路徑計算服務
優化方法
整體服務架構

集群間數據同步模塊
1.路徑計算服務接收到邊緣主機組上報的基礎探測數據和其它區域集群同步過來的基礎探測數據
2.對收到的基礎探測數據,判斷是增量數據還是同步數據
3.1如果是增量數據,則進行路徑計算并下發結果,基礎探測數據存儲到本區域集群
3.2增量數據同時也需要同步一份到其它區域,通過自定義消息格式控制數據的不同狀態,并使用grpc+proto數據協議同步到其它區域集群
4.數據存儲模塊,存儲增量數據與同步數據

同步數據接收模塊
1.邊緣節點基礎探測數據開始上報
2.域名解析,查看上報區域是否發送改變
3.1如果上報區域發生改變,則上報到最新調整后的區域路徑計算服務,并開始路徑計算
3.2如果上報區域沒有改變,則上報到原有區域路徑計算服務
4.通過自定義消息格式控制數據的不同狀態,并使用grpc+proto數據協議同步到其它區域集群

優點和效果
實現路徑計算服務在不同區域內的路徑計算服務集群之間的數據同步功能,打破各區域數據孤島問題而導致的邊緣主機組基礎探測數據無法在各區域來回切換上報,并可以按區域實現垂直擴展,達到去中心化,解決高可用的同時,也提高了計算速度
各區域具備數據同步功能后,每一個區域內都是全量邊緣主機組的基礎探測數據(包括路徑的中間節點等),邊緣主機組基礎探測數據根據域名調度解析按區域就近上報(而不是只上報到一個主區域),在故障情況下,可以通過域名調度切換到一個可用的區域,零時延切換為用戶繼續提供準確的路徑計算服務

浙公網安備 33010602011771號