System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及探测结果同步,具体涉及一种自定义探测组探测结果同步方法及装置。
技术介绍
1、随着互联网技术的持续快速发展,用户对服务的可用性、响应速度和数据安全性提出了更高的要求,而单一数据中心的服务模式难以满足这些需求。因此,多数据中心部署成为一种趋势,多数据中心是通过在不同地理位置建设多个数据中心,其能够显著提升服务的可用性、响应速度和用户体验,同时增强业务的连续性和安全性。
2、在多数据中心架构下,全局服务器负载均衡(gslb)技术显得尤为重要,它利用dns解析、健康检查以及智能路由等技术,实现对用户请求的智能调度和流量优化,将请求路由到最近或最合适的服务资源,从而实现优化响应速度和服务质量的目标。
3、gslb核心功能之一就是健康检查,它可以对位于不同地理位置、不同数据中心的服务资源进行实时健康监测,监控和评估服务资源的可用性和性能,快速识别节点故障或性能下降等风险。通过智能负载均衡算法,gslb可以将流量自动重定向到健康的资源节点,从而避免单点故障导致的服务中断,提高系统的整体可用性和容错能力。
4、在多数据中心场景下,每个数据中心通常会有多条运营商网络线路,为了确保即使在一个数据中心或一个运营商线路出现故障或性能下降时,仍然能够提供准确的探测可用性,通常配置自定义探测组功能。以图1为例,自定义探测组1选择两地三数据中心内不同出口线路的探测节点组成一个探测节点池,节点之间会建立点对点连接,三个节点通过权重选举算法协商出联通探测节点1为leader节点,每个探测周期leader节点会基于算
5、由于自身程序异常、出口网络或者传输链路原因,不同探测节点对同一个目标服务资源的探测结果可能会不一样。为了更加精准的判断目标服务资源是否可用,leader节点会判断失败延时响应时间内所有探测节点的探测结果是否连续都为失败:如果是,则认为目标服务资源当前状态为不可用;否则,只要自定义探测组内任意一个探测节点的探测结果为成功,则判定该服务资源为可用。leader节点会向集群内所有节点同步该探测结果,保证所有gslb设备上的探测结果一致性。
6、如果自定义探测组内某一个探测节点由于网络防火墙或者传输链路原因,导致和网管节点、自定义探测组内leader节点断开连接,会出现如图2所示的问题,具体如下:
7、1、修改配置将电信探测节点2从自定义探测组1内移除,由于电信探测节点2和网管节点断开连接,接收不到最新的配置;集群内其他节点都能正常接收到自定义探测组配置修改消息,分别更新本地自定义探测组1配置;
8、2、电信探测节点2和联通探测节点1断开连接,基于权重选举算法,该节点会选择本节点作为新的leader节点;
9、3、自定义探测组1内存在两个leader节点,由于网络连接断开,这两个leader节点之间没有任何交互。联通探测节点1轮流选择联通探测节点1和移动探测节点1执行探测,电信探测节点2选择本节点执行探测;
10、4、如果联通探测节点1或移动探测节点1对服务资源的探测结果为正常,则联通探测节点1判定目标服务资源状态为可用;
11、5、如果电信探测节点2对服务资源的探测结果为失败,则电信探测节点2判定该服务资源为不可用;
12、6、联通探测节点1和电信探测节点2这两个leader节点会将各自判定的探测结果向集群内其他设备节点进行同步。假设移动探测节点2先接收到联通探测节点1同步的服务资源探测结果为可用,再接收到电信探测节点2同步的服务资源探测结果为不可用,最终生效的探测结果为不可用,导致该服务资源无法被正常解析。
13、综上可知,现有技术具有以下缺陷:
14、1、出现多个leader节点后,探测结果会交替覆盖:同一个自定义探测组出现多个leader节点后,每个leader节点都判定探测结果,会出现部分leader节点探测结果为down,部分leader节点探测结果为up。集群内其他设备节点接收到leader节点发送的服务资源探测结果同步报文后,以接收到的最新同步结果为准,最终导致错误探测结果和正常探测结果交替覆盖的问题,具体见图3。
15、2、未判定同步源节点是否属于自定义探测组:自定义探测组内部分节点和网管节点断连后,接收不到同步组配置修改消息,该节点可能已经从同步组内删除,但是仍然会给集群内其他设备节点发送探测结果同步报文,并导致这些节点维护的探测结果与实际情况不符。
技术实现思路
1、为此,本申请提供了一种自定义探测组探测结果同步方法及装置,以解决现有技术在出现多个leader节点后会交替覆盖探测结果以及探测结果不准确的问题。
2、为了实现上述目的,本申请提供如下技术方案:
3、第一方面,一种自定义探测组探测结果同步方法,所述方法应用于集群内的设备节点,包括:
4、接收集群内其它设备节点发送的探测结果同步消息;所述探测结果同步消息包含服务资源id和探测结果;
5、根据所述服务资源id和本地节点业务配置,得到为所述服务资源执行探测的自定义探测组id;
6、根据所述自定义探测组id对同步源节点进行有效性校验,得到校验结果;
7、根据所述校验结果对自定义探测组内不同leader节点的探测结果进行聚合。
8、可选地,根据所述自定义探测组id对同步源节点进行有效性校验,得到校验结果,具体为:
9、判断同步源节点是否为所述自定义探测组id内的成员节点;
10、若同步源节点不是所述自定义探测组id内的成员节点,则丢弃探测结果;
11、若同步源节点是所述自定义探测组id内的成员节点,则对自定义探测组内不同leader节点的探测结果进行聚合。
12、可选地,所述对自定义探测组内不同leader节点的探测结果进行聚合,具体包括:
13、判断探测结果是否为up;
14、若探测结果为up,则更新本地保存的服务资源探测结果为可用,并判断服务资源是否启动探测失败定时器,若启动,则关闭探测失败定时器;
15、若探测结果为down,则判断服务资源是否启动探测失败定时器,若启动,则处理结束;若未启动,则为服务资源启动探测失败定时器,若探测失败定时器超时,则将服务资源的探测结果设置为不可用。
16、可选地,所述探测失败定时器的超时时长为探测模板失败延时响应时间。
17、第二方面,一种自定义探测组探测结果同步装置,包括:
18、数据接收模块,用于接收集群内其它设备节点发送的探测结果同步消息;所述探测结果同步消息包含服务资源id和探测结果;
19、自定义探测组id确定模块,用于根据所述服务资源id和本地节点业务配置,得到为所述服务资源执行探测的自定义探测组id;
20、校验模块,用于根据所述自定义探测组id对同步源节点进行有效本文档来自技高网...
【技术保护点】
1.一种自定义探测组探测结果同步方法,其特征在于,所述方法应用于集群内的设备节点,包括:
2.根据权利要求1所述的自定义探测组探测结果同步方法,其特征在于,根据所述自定义探测组id对同步源节点进行有效性校验,得到校验结果,具体为:
3.根据权利要求2所述的自定义探测组探测结果同步方法,其特征在于,所述对自定义探测组内不同Leader节点的探测结果进行聚合,具体包括:
4.根据权利要求3所述的自定义探测组探测结果同步方法,其特征在于,所述探测失败定时器的超时时长为探测模板失败延时响应时间。
5.一种自定义探测组探测结果同步装置,其特征在于,包括:
6.根据权利要求5所述的自定义探测组探测结果同步装置,其特征在于,所述校验模块具体用于:
7.根据权利要求5所述的自定义探测组探测结果同步装置,其特征在于,所述聚合模块具体用于:
8.根据权利要求7所述的自定义探测组探测结果同步装置,其特征在于,所述探测失败定时器的超时时长为探测模板失败延时响应时间。
9.一种计算机可读存储介质,其上存储有计算
10.一种计算机程序产品,包括计算机程序或指令,其特征在于,该计算机程序或指令被处理器执行时实现权利要求1至4中任一项所述的方法的步骤。
...【技术特征摘要】
1.一种自定义探测组探测结果同步方法,其特征在于,所述方法应用于集群内的设备节点,包括:
2.根据权利要求1所述的自定义探测组探测结果同步方法,其特征在于,根据所述自定义探测组id对同步源节点进行有效性校验,得到校验结果,具体为:
3.根据权利要求2所述的自定义探测组探测结果同步方法,其特征在于,所述对自定义探测组内不同leader节点的探测结果进行聚合,具体包括:
4.根据权利要求3所述的自定义探测组探测结果同步方法,其特征在于,所述探测失败定时器的超时时长为探测模板失败延时响应时间。
5.一种自定义探测组探测结果同步装置,其特征在于,包括:
6.根...
【专利技术属性】
技术研发人员:胡培成,张绍峰,韩冬,邢志杰,毛伟,
申请(专利权)人:互联网域名系统北京市工程研究中心有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。