news 2026/4/26 12:59:13

一种智能调度分布式路径计算解决方案

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
一种智能调度分布式路径计算解决方案

背景技术

传统的CDN动态加载智能路由系统对用户动态请求,主要通过探测服务器主动发起周期性的探测请求,探测CDN中转节点和源站的可用性及网络性能,根据探测结果选择最优的回源链路;

然而,在获取到探测结果后,为了减少探测服务器的计算压力,通常将探测和选路功能模块分离在不同的服务器或服务器集群完成,选路采用特殊的服务器(一般是BGP的高配机器)作为中央路径计算服务器,探测服务器上报探测数据到中央路径计算服务器,中央路径计算服务器则根据上报的探测数据计算回源路径,从中选择最优的回源链路。

为了实现中央路径计算的高可用,现有的中央路径计算服务器架构有的是只部署在某个地区的服务器集群,这种方式无法满足不同地区的探测服务器就近上报探测数据到同个地区的中央路径计算服务器,从而可能造成上报探测数据延时大甚至失败的问题,此外,一旦该地区的机房掉电或割接,则无法进行最优回源路径的计算;有的是部署在多个不同地区,但采用主备架构,这种方式虽然能解决某个地区机房掉电的问题,但会导致备的中央路径计算服务器大部分情况下都闲置,而主的中央路径计算服务器却处于高负载处理请求数据的状态,这样不仅浪费资源,无法均衡地分摊不同地区探测服务器上报探测数据的请求,后续也不方便对集群进行扩容和更改。

鉴于此,本文将提供一种智能调度分布式的路径计算解决方案,它具有以下3个方面的特点:

1)实现不同地区的探测服务器上报探测数据的请求能够优先就近调度到相同地区的中央路径计算服务器集群,只有当相同地区的中央路径计算服务器集群服务不可用时,才将探测服务器上报的探测数据请求调度到其他地区的中央路径计算服务器集群;

2)实现不同地区的探测服务器上报探测数据的请求均衡地分摊到不同地区的中央路径计算服务器集群,且同一时刻所有地区的中央路径计算服务器集群同时提供服务;

3)实现相同地区的探测服务器上报探测数据的请求在相同地区的中央路径计算服务器集群内部进行均衡地调度,并能及时剔除集群内部服务异常的服务器;

技术方案

本文提出的智能调度分布式的路径计算解决方案,采用交换机OSPF的ECMP技术来实现中央路径计算服务器集群内部的负载均衡调度,同时基于dns智能调度实现跨地区集群间的负载均衡,具体技术方案原理如下图所示:

技术方案主要步骤如下:

1)每个中央路径计算服务器集群都分配一个对外接入的vip,为中央路径计算系统分配提供服务的域名,dns解析能够正常解析到中央路径计算服务器集群的vip;

2)A地区的探测服务器发起探测数据上报请求到中央路径计算系统,通过dns智能解析将请求优先调度到与探测服务器相同A地区的中央路径计算服务器集群vip,实现探测数据上报请求的就近调度;

3)监控平台定时采集探测A、B等多个地区的中央路径计算服务器集群vip的心跳探测请求结果,dns智能调度平台获取每个地区的中央路径计算服务集群的心跳探测结果,一旦发现就近调度的中央路径计算服务集群vip的心跳探测失败,则dns智能调度切换到其他正常服务的中央路径计算服务集群;

下图所示为监控平台定时采集的华东-衢州、华中-株洲、华北-和平3个地区的中央路径计算服务器集群vip的心跳探测请求结果,ccs_probe探测结果为1表示集群服务正常,为0表示集群服务异常。

4)请求到达A地区机房的交换机后,通过交换机的OSPF负载均衡技术(ECMP等价多路径)发送组包来探测与后端真实中央路径计算服务器的连通性,如果其中某条路径出现故障时,由其它路径代替完成转发处理,实现路由冗余备份功能;

5)集群服务监控脚本定时监测中央路径计算服务器服务是否正常(包括向中央路径计算应用程序发送心跳探测是否正常、Redis应用程序端口是否监听等),如果服务异常,则通过路由软件Quagga修改交换机到该中央路径计算服务器的路由不可达,这样交换机负载均衡调度时不会再将请求调度到服务异常的中央路径计算服务器;

6)中央路径计算服务器集群内部每台中央路径计算服务器上部署的中央路径计算应用程序负责接收探测服务器上报的探测数据,将探测数据存储到本机的Redis中,集群内部通过Redis应用程序实现不同中央路径计算服务器之间探测数据的主从同步与备份;

为了方便Redis集群部署,这里采用脚本自动化的方式来实现,如下所示:

脚本执行步骤如下:

a)分别登陆不同地区机房的不同节点(这里选择A、B、C三个地区机房,每个机房3台机器为例),进行redis集群配置部署,执行如下命令:

./cluster_redis_config.sh -p xxxxxxxxxxxxxxxxxxxxxx (需要指定redis秘钥)

其中:cluster_redis_config.sh关键脚本如下:

b)分别在上述三个机房中选择1台机器,进行redis集群创建及master、slave的redis设置

A地区机房机器(其中1台)执行命令:./cluster_redis_build.sh -c 221.238.221.7, 221.238.221.8, 221.238.221.9

B地区机房机器(其中1台)执行命令:./cluster_redis_build.sh -c 202.106.245.4,202.106.245.5,202.106.245.6

C地区机房机器(其中1台)执行命令:./cluster_redis_build.sh -c 218.79.202.7,218. 79.202.8,218. 79.202.9

其中:cluster_redis_build.sh关键脚本如下:

7)探测服务器上报的探测数据经过智能调度和交换机负载均衡调度到同地区的中央路径计算服务器集群中的某台中央路径计算服务器后,由其主动向其他地区的中央路径计算服务器集群vip发起上报探测数据请求,这样所有地区的中央路径计算服务器集群都能获取到相同的探测数据,实现跨集群探测数据的同步;

本文提出的一种智能调度分布式路径计算解决方案,具有如下优势:

1)能够满足不同地区的探测服务器上报探测数据的请求能够优先就近调度到相同地区的中央路径计算服务器集群,只有当相同地区的中央路径计算服务器集群服务不可用时,才将探测服务器上报的探测数据请求调度到其他地区的中央路径计算服务器集群,这样能够提高上报探测数据的成功率,降低上报探测数据的请求延时;

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

群晖引导工具双雄对决:5大维度深度解析RR与ARPL的技术进化之路

群晖引导工具双雄对决:5大维度深度解析RR与ARPL的技术进化之路 【免费下载链接】rr Redpill Recovery (arpl-i18n) 项目地址: https://gitcode.com/gh_mirrors/rr2/rr "每次重装系统都要重新编译引导文件,配置复杂到让人想放弃?&q…

作者头像 李华
网站建设 2026/4/26 0:17:19

ABAP Excel导出难题如何解决?abap2xlsx全流程安装配置指南

ABAP Excel导出难题如何解决?abap2xlsx全流程安装配置指南 【免费下载链接】abap2xlsx Generate your professional Excel spreadsheet from ABAP 项目地址: https://gitcode.com/gh_mirrors/ab/abap2xlsx 还在为SAP报表导出Excel格式不兼容而烦恼吗&#xf…

作者头像 李华
网站建设 2026/4/23 15:48:54

Linux基本操作指令

1、显示当前目录下的文件和文件夹 lsls -l ll (L以列表的形式展示文件和文件夹 )2、切换目录 cd命令cd /进入根目录cd ../返回上一级cd -返回最近访问的目录cd 目录名 进入当前目录下的目录(可以连着打)3、查看当前目录的绝对路径 pwd4、创建文件夹 mkdi…

作者头像 李华
网站建设 2026/4/23 12:16:38

SSM聚合工程部署介绍

我们以哈米音乐为例介绍SSM聚合工程的部署 父工程 (ham-parent): 不写任何业务代码,主要用于统一管理所有子模块的版本、依赖和插件,打包方式是pom包 子模块: ham-portal:前台模块,负责控制层和表现层&…

作者头像 李华
网站建设 2026/4/26 9:02:21

营销行业的 AI 助手:个性化广告语如何将转化率提升 28%?

**一、行业痛点:传统广告语创作的效率与效果困局在数字营销进入精细化运营的今天,广告语作为连接品牌与用户的关键触点,其创作模式正面临三重结构性矛盾。首先是创意供给与市场需求的失衡:据 2024 年尼尔森行业报告显示&#xff0…

作者头像 李华
网站建设 2026/4/24 20:53:00

36、Linux 技术学习与 CompTIA Linux+ 认证备考指南

Linux 技术学习与 CompTIA Linux+ 认证备考指南 1. 安全与文件权限 安全和文件权限是 Linux 系统管理中的重要部分,以下是相关的子主题及关键信息: | 子主题 | 权重 | 描述 | 关键领域 | | — | — | — | — | | 基本安全与识别用户类型 | 2 | 理解 Linux 系统上的各种…

作者头像 李华