当前位置: 首页 > news >正文

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

背景

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

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

存在的问题

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

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

优化目的

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

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

优化方法

整体服务架构

集群间数据同步模块

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

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

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

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

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

同步数据接收模块

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

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

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

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

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

优点和效果

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

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

http://www.cnnetsun.cn/news/40857.html

相关文章:

  • Caesium图像压缩器高级配置与定制化指南
  • Graphiti时序知识图谱:5大革新策略重塑动态知识管理
  • CMATH:如何5分钟掌握小学数学计算能力评估
  • 使用RNNoise进行音频降噪
  • 风储模型中的功率分配模型
  • 眼见非实(Bugku杂项入门)
  • 毕方Talon:鸿蒙开发的编译时安全守护神
  • 创客匠人峰会新解:高势能 IP 打造 ——AI 时代知识变现的十倍增长密码
  • Java线程池与Executor框架完全指南:一看就会,一看就懂!
  • 随机图床 _
  • PETools 逆向工程工具完整使用指南
  • 改善深层神经网络 第一周:深度学习的实践(四)其他缓解过拟合的方法
  • 品牌营销 深度心智方法论
  • STM32之使用DWT外设编写延时函数
  • 选择中国优化路线的美国独立服务器的8大好处
  • Abaqus三维纤维复合材料Vumat子程序:弹性层压板+Hashin损伤(纤维)+Puck损...
  • 移动应用无障碍测试完全指南:如何用Maestro实现WCAG标准自动化验证
  • Effective C++ 中文版第3版:C++进阶编程的终极指南
  • Slang光线追踪加速结构深度解析:从理论到性能优化实践
  • DeepSeek-R1-Distill-Qwen-7B集群部署终极指南:轻松搞定AI推理服务
  • 风储调频在Matlab/Simulink中的探索:基于四机两区系统的实践
  • 基于Java Swing的猜数字小游戏(2)
  • 提升 Web 端 JavaScript 的可信度:WAICT 体系详解
  • Solon (可替换 SpringBoot)集成 Docker 实战:30分钟搞定轻量级应用容器化部署
  • 一次 React 项目 lock 文件冲突修复:从 Hook 报错到 Vite 配置优化
  • 记录一次USB虚拟网络问题排查
  • 学Simulink——基于高比例可再生能源渗透的复杂电网建模场景实例:大规模光伏并网对区域电网频率稳定影响研究
  • CANN Samples(十九):特色场景:机器人 AI 绘画 手写识别等
  • 毕设开源 深度学习YOLO交通路面缺陷检测系统(源码+论文)
  • 【URP】Unity[后处理]色彩调整ColorAdjustments