本发明属于计算机网络技术领域,尤其涉及一种GSLB处理方法。
背景技术:
在整个GSLB多数据中心解决方案中,目前所有的GSLB厂商解决方案都是,根据健康检查、地理位置等一系列算法来响应DNS请求。不能真正与业务结合到一起,在真实应用中,SLB负载的业务由于业务量大、系统长期运行、网络原因等多种情况导致业务访问较慢,这种情况是本发明需要解决的问题。
故,需要一种新的技术方案以解决上述问题。
技术实现要素:
发明目的:解决因为服务器业务繁忙引起的客户访问慢的问题,也解决因为服务器长时间运行后导致部分业务环节运行异常产生的业务失败的问题。
技术方案:为达到上述目的,本发明可采用如下技术方案:
一种基于业务延时的动态GSLB处理方法:
数据中心SLB1设备实时监控记录业务延时,该业务延时对应的业务为从客户端访问到VIP,再由VIP转到后端真实服务器的整个过程;
假设业务VIP1的地址数据为m1;数据中心SLB2行为和数据中心SLB1保持一致,假设业务VIP2的地址数据为m2;m1和m2由SLB动态获取并保留最近若干组的数值,覆盖操作;
GSLB通过协议探测并收集所有数据中心设备上对应的业务状态分别为vip1=m1;vip2=m2,SLB定时向所有数据中心设备取若干组数据;
GSLB根据自己设定的延时安全值t1和告警值t2进行度量,度量算法为:
(1)计算数据中心取回若干组数据的平均值为m;
(2)如果m<t1则认为是安全范围,GSLB正常响应该数据中心的DNS应答速率,假设速率为s1;
(3)如果t1<m<t2则认为边界范围,动态调整GSLB响应该数据中心SLB1的速率为原有的s1的一半,即s1/2;
连续探测两个周期m仍然属于该范围,继续调整GSLB响应该数据中心SLB1的速率为上一次的一半,即s1/4;
再连续探测两个周期m仍然属于该范围,继续调整GSLB响应该数据中心SLB1的速率为上一次的一半,即s1/8;
继续连续探测两个周期m仍然属于该范围,GSLB将不再响应该数据中心SLB1的DNS请求;
(4)如果m>t2则认为异常范围,GSLB将不再响应该数据中心SLB1的DNS请求。
进一步的,步骤(3)中还包括恢复机制,即m<t1。
进一步的,其特征在于:SLB定时向数据中心SLB设备取五组数据,假设为m1_1、m1_2、m1_3、m1_4、m1_5,不满五组时全部取回。
进一步的,本方法适用于多数据中心,本方法中GSLB已关联健康检查算法。
有益效果:本发明中通过采用度量算法及时调整GSLB响应该数据中心的速率,以解决因为服务器业务繁忙引起的客户访问慢且解决因为服务器长时间运行后导致部分业务环节运行异常产生的业务失败,如内存泄露,数据库臃肿等,这种情况业务可以访问但响应慢,经常出现超时的情况。
具体实施方式
本实施例公开一种应用在多数据中心的基于业务延时的动态GSLB的处理方法,该处理方法的前提条件:
1GSLB已关联健康检查算法
2多数据中心
实现及原理说明:
1、数据中心SLB1设备实时监控记录业务从客户端访问到VIP,再由VIP转到后端真实服务器的整个过程的业务延时,假设业务VIP1为m1;数据中心SLB2行为和数据中心SLB1保持一致,假设业务VIP2为m2;m1和m2由SLB动态获取,保留最近5组的数值,覆盖操作;
2、GSLB通过协议探测、收集(主动、和被动模式)数据中心SLB设备上对应的业务状态分别为vip1=m1;vip2=m2,SLB定时向数据中心SLB设备取五组数据,假设为m1_1、m1_2、m1_3、m1_4、m1_5,不满五组时全部取回,
3、GSLB根据自己设定的延时安全值t1和告警值t2进行度量,度量算法为:
(1)计算数据中心取回数据m1_1到m1_5的平均值为m
(2)如果m<t1则认为是安全范围,GSLB正常响应该数据中心的DNS应答速率,假设速率为s1
(3)如果t1<m<t2则认为边界范围,动态调整GSLB响应该数据中心SLB1的速率为原有的s1的一半,即s1/2;
连续探测两个周期m仍然属于该范围,继续调整GSLB响应该数据中心SLB1的速率为上一次的一般,即s1/4;
再连续探测两个周期m仍然属于该范围,继续调整GSLB响应该数据中心SLB1的速率为上一次的一般,即s1/8;
继续连续探测两个周期m仍然属于该范围,GSLB将不再响应该数据中心SLB1的DNS请求
恢复机制:m<t1
(4)如果m>t2则认为异常范围,GSLB将不再响应该数据中心SLB1的DNS请求。
另外,本发明的具体实现方法和途径很多,以上所述仅是本发明的优选实施方式。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部分均可用现有技术加以实现。