news 2026/5/1 2:29:56

CDN动态加速路径计算集群间数据同步优化方法

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
CDN动态加速路径计算集群间数据同步优化方法

背景

实时路径计算服务作为动态加速平台核心组件,针对动态交互数据无法缓存于边缘节点,需要实时与客户源站进行交互,同时考虑客户接入点到客户源站之间复杂网络情况以及客户源站突发峰值的不确定性,实时路径计算服务能够避开网络拥塞、突发流量、源站服务压力高、服务设备宕机等诸多不利因素导致丢包、响应慢、服务不稳定等问题,叠加压缩传输、协议优化、链路复用等技术,承担起动态加速平台的智能选路功能

路径计算服务目前部署于全国三大区域机房内,每个区域内三台机器组成一个服务集群,三大区域之间采用主备备模式,全网CDN边缘主机组的基础探测数据都往一个主区域内的路径计算服务集群上报,故障情况下由域名调度实现主备区域角色的切换来解决服务的高可用性,不能利用备区域实现分布式计算及容错能力

存在的问题

随着CDN业务发展,边缘主机组增多,基础探测数据量增大,导致实时路径计算服务压力增大,此时只能横向扩展服务,压力还是存在于一个区域内的服务集群里,其它备区域服务集群则很空闲,无法垂直扩展分摊压力

基础探测数据不能按区域就近上报,全网CDN边缘主机组都往一个主区域内的服务集群上报,如果某局部网络故障,将导致此故障地区无法上报基础探测数据和获取最优路径结果;如果不幸主区域内的服务集群故障(主区域表示全网基础探测数据都往此汇聚的区域,基础探测数据是路径计算的基础数据),将导致主区域无法提供路径计算服务。对于以上故障,如果进行边缘节点域名调度切换到另一个备区域,由于各区域路径计算集群之间没有实现数据同步,导致切过来的一段时间路径计算不准确(缺少最新的各层级基础探测数据),影响客户加速

优化目的

实现路径计算服务在不同区域内的路径计算服务集群之间的数据同步功能,打破各区域数据孤岛问题而导致的边缘主机组基础探测数据无法在各区域来回切换上报,并可以按区域实现垂直扩展,达到去中心化,解决高可用的同时,也提高了计算速度

各区域具备数据同步功能后,每一个区域内都是全量边缘主机组的基础探测数据(包括路径的中间节点等),边缘主机组基础探测数据根据域名调度解析按区域就近上报(而不是只上报到一个主区域),在故障情况下,可以通过域名调度切换到一个可用的区域,零时延切换为用户继续提供准确的路径计算服务

优化方法

整体服务架构

集群间数据同步模块

1.路径计算服务接收到边缘主机组上报的基础探测数据和其它区域集群同步过来的基础探测数据

2.对收到的基础探测数据,判断是增量数据还是同步数据

3.1如果是增量数据,则进行路径计算并下发结果,基础探测数据存储到本区域集群

3.2增量数据同时也需要同步一份到其它区域,通过自定义消息格式控制数据的不同状态,并使用grpc+proto数据协议同步到其它区域集群

4.数据存储模块,存储增量数据与同步数据

同步数据接收模块

1.边缘节点基础探测数据开始上报

2.域名解析,查看上报区域是否发送改变

3.1如果上报区域发生改变,则上报到最新调整后的区域路径计算服务,并开始路径计算

3.2如果上报区域没有改变,则上报到原有区域路径计算服务

4.通过自定义消息格式控制数据的不同状态,并使用grpc+proto数据协议同步到其它区域集群

优点和效果

实现路径计算服务在不同区域内的路径计算服务集群之间的数据同步功能,打破各区域数据孤岛问题而导致的边缘主机组基础探测数据无法在各区域来回切换上报,并可以按区域实现垂直扩展,达到去中心化,解决高可用的同时,也提高了计算速度

各区域具备数据同步功能后,每一个区域内都是全量边缘主机组的基础探测数据(包括路径的中间节点等),边缘主机组基础探测数据根据域名调度解析按区域就近上报(而不是只上报到一个主区域),在故障情况下,可以通过域名调度切换到一个可用的区域,零时延切换为用户继续提供准确的路径计算服务

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/1 8:26:12

Glide动图加载进阶:构建高性能HEIF动图播放器全流程解析

Glide动图加载进阶:构建高性能HEIF动图播放器全流程解析 【免费下载链接】glide An image loading and caching library for Android focused on smooth scrolling 项目地址: https://gitcode.com/gh_mirrors/gl/glide 在移动应用开发中,动图加载…

作者头像 李华
网站建设 2026/5/1 9:50:36

三步搞定移动端语音合成:CosyVoice Android应用实战指南

还在为Android应用添加语音功能而发愁吗?CosyVoice作为一款多语言大语音生成模型,提供了完整的推理、训练和部署能力。本文将用最简单的方式,带你从零开始构建一个支持音色模拟、跨语言合成的智能语音应用,让技术小白也能轻松上手…

作者头像 李华
网站建设 2026/5/1 8:39:44

CAD坐标标注插件终极指南:快速提升绘图效率的5个技巧

CAD坐标标注插件终极指南:快速提升绘图效率的5个技巧 【免费下载链接】CAD坐标标注插件zbbz使用说明 CAD坐标标注插件zbbz是一款专为CAD用户设计的高效工具,旨在简化绘图过程中的坐标标注操作。通过该插件,用户可以快速在CAD软件中实现精确的…

作者头像 李华
网站建设 2026/5/1 9:53:35

React动画新选择:react-spring现代化方案深度剖析

React动画新选择:react-spring现代化方案深度剖析 【免费下载链接】react-spring react-spring 是一个为React应用程序提供动画功能的库,由Piotr Migdal创建。它是一个响应式动画库,可以与React的钩子(hooks)系统无缝集…

作者头像 李华
网站建设 2026/5/1 7:30:42

BiliFM终极音频下载指南:轻松获取B站UP主全音频

BiliFM终极音频下载指南:轻松获取B站UP主全音频 【免费下载链接】BiliFM 下载指定 B 站 UP 主全部或指定范围的音频,支持多种合集。A script to download all audios of the Bilibili uploader you love. 项目地址: https://gitcode.com/jingfelix/Bil…

作者头像 李华