一种负载均衡设备中的健康检查系统技术方案

技术编号:37160955 阅读:25 留言:0更新日期:2023-04-06 22:26
本发明专利技术公开一种负载均衡设备中的健康检查系统,涉及设备健康检查技术领域,所述系统包括:健康检查模块和转发模块;转发模块和后端服务器均与健康检查模块连接;转发模块与后端服务器连接;健康检查模块用于利用N个预设健康检查方法对后端服务器进行检查,得到N个当前次数的健康检查分结果;根据预设阈值和所有当前次数的健康检查分结果,输出后端服务器的当前次数的健康检查总结果;转发模块用于根据当前次数的健康检查总结果,控制向后端服务器的流量分发。本发明专利技术提高了健康检查通告的可靠性和转发模块的转发性能。靠性和转发模块的转发性能。靠性和转发模块的转发性能。

【技术实现步骤摘要】
一种负载均衡设备中的健康检查系统


[0001]本专利技术涉及设备健康检查
,特别是涉及一种负载均衡设备中的健康检查系统。

技术介绍

[0002]负载均衡设备会定期向后端服务器发送探测报文以检查其运行状态,该过程称为健康检查。比如负载均衡设备每隔5秒向后端服务器组发送一次ICMPrequest报文,如果其中某个服务器运行正常,则会向负载均衡设备回复ICMPreply报文。负载均衡设备收到该服务器的ICMPreply后则认为该服务器运行状态是正常的;如果负载均衡设备没有收到某个服务器的ICMP reply报文,负载均衡设备则认为该服务器状态异常。负载均衡设备不会将流量分发给健康检查状态异常的后端服务器,而只是分发到那些健康检查状态正常的后端服务器,即只有状态正常的服务器才能承接业务流量,这样就提高了业务的可靠性。当异常的后端服务器恢复正常状态后,健康检查也会检测到并会将其重新加入到负载集群,并重新承载业务流量。
[0003]通常情况下对一个后端服务器只使用一种方法进行健康检查,比如互联网控制报文协议(InternetControlMessageProtocol,ICMP)、传输控制协议(TransmissionControlProtocol,TCP)和用户数据报协议(UserDatagram Protocol,UDP)等。在网络发生拥塞的情况下,健康检查的报文容易丢弃,这样健康检查容易出现误判。为了增加容错性,可以对一个后端服务器同时使用N个(N>1,最多可达16个)方法进行健康检查,只要其中的M(M≤N)个健康检查的结果是正常的,则认为这个后端服务器是正常的。
[0004]在现有的健康检查系统中,如图2所示,为增加容错性,健康检查模块而对每个后端服务器都同时使用N个(最多可达16个)方法进行健康检查,并将这些健康检查结果全部发送给转发模块,此情形下转发模块要汇总大量健康检查结果并进行大量分析决断,这样就会耗费转发模块的性能,在一定程度上影响转发性能。健康检查通告是通过端口socket传递的,当健康检查结果数量比较大的时候,交互的消息数量就比较多,这样消息通道就容易发生拥塞从而导致消息丢失,从而会引起健康结果异常。综上,现有的健康检查系统中健康检查通告的可靠性较低,且转发模块的转发性能较差。

技术实现思路

[0005]本专利技术的目的是提供一种负载均衡设备中的健康检查系统,提高了健康检查通告的可靠性和转发模块的转发性能。
[0006]为实现上述目的,本专利技术提供了如下方案:
[0007]一种负载均衡设备中的健康检查系统,所述健康检查系统包括:健康检查模块和转发模块;所述转发模块和后端服务器均与所述健康检查模块连接;所述转发模块与所述后端服务器连接;
[0008]所述健康检查模块,包括:
[0009]检查子模块,与所述后端服务器连接,用于利用N个预设健康检查方法对所述后端服务器进行检查,得到N个当前次数的健康检查分结果;所述健康检查结果为正常结果或异常结果;N>1;
[0010]结果输出子模块,与所述检查子模块连接,用于根据预设阈值和所有当前次数的健康检查分结果,输出所述后端服务器的当前次数的健康检查总结果;
[0011]所述转发模块,包括:
[0012]流量分发子模块,与所述结果输出子模块连接,用于根据当前次数的健康检查总结果,控制向所述后端服务器的流量分发。
[0013]可选地,所述健康检查系统,还包括:检查方法存储子模块;所述检查方法存储子模块与所述检查子模块连接;
[0014]所述检查方法存储子模块用于存储所述预设健康检查方法。
[0015]可选地,所述健康检查模块,还包括:检查方法获取子模块;所述检查方法获取子模块分别与所述检查方法存储子模块和所述检查子模块连接;
[0016]所述检查方法获取子模块用于从所述检查方法存储子模块获取所述预设健康检查方法,并将所述预设健康检查方法发送至所述检查子模块。
[0017]可选地,所述健康检查模块,还包括:预设阈值存储子模块;所述预设阈值存储子模块与所述结果输出子模块连接;
[0018]所述预设阈值存储子模块用于存储所述预设阈值。
[0019]可选地,所述结果输出子模块,包括:
[0020]第一判断单元,与所述检查子模块连接,用于判断R个所述健康检查分结果中的正常结果的数量是否大于或等于所述预设阈值,得到第一判断结果;R<N;
[0021]第一执行单元,与所述第一判断单元连接,用于当所述第一判断结果为是时,控制所述检查子模块停止当前次数的检查,将当前次数的健康检查总结果确定为正常总结果;
[0022]第二执行单元,与所述第一判断单元连接,用于当所述第一判断结果为否时,控制所述检查子模块继续当前次数的检查;
[0023]第二判断单元,与所述检查子模块连接,用于当所述检查子模块执行完N个预设健康检查方法时,判断N个当前次数的健康检查分结果中的正常结果的数量是否大于或等于所述预设阈值,得到第二判断结果;
[0024]第三执行单元,与所述第二判断单元连接,用于当所述第二判断结果为是时,将当前次数的健康检查总结果确定为正常总结果;
[0025]第四执行单元,与所述第二判断单元连接,用于当所述第二判断结果为否时,将所述健康检查总结果确定为异常总结果;
[0026]待转发单元,分别与所述第一执行单元、所述第三执行单元、所述第四执行单元和所述转发模块连接,用于当所述当前次数的健康检查总结果和上一健康检查总结果不同或者达到通告间隔时,将所述当前次数的健康检查总结果发送至所述述转发模块。
[0027]可选地,所述流量分发子模块包括:
[0028]第三判断单元,与所述结果输出子模块连接,用于判断当前次数的健康检查总结果是否为正常结果,达到第三判断结果;
[0029]第五执行单元,与所述第三判断单元连接,用于当第三判断结果为是时,继续向所
述后端服务器进行流量分发;
[0030]第六执行单元,与所述第三判断单元连接,用于当第三判断结果为否时,停止向所述后端服务器进行流量分发。
[0031]根据本专利技术提供的具体实施例,本专利技术公开了以下技术效果:
[0032]本专利技术公开了一种负载均衡设备中的健康检查系统,包括:健康检查模块和转发模块;转发模块和后端服务器均与健康检查模块连接;转发模块与后端服务器连接;健康检查模块,包括:检查子模块,与后端服务器连接,用于利用N个预设健康检查方法对后端服务器进行检查,得到N个当前次数的健康检查分结果;健康检查结果为正常结果或异常结果;N>1;结果输出子模块,与检查子模块连接,用于根据预设阈值和所有当前次数的健康检查分结果,输出后端服务器的当前次数的健康检查总结果;转发模块,包括:流量分发子模块,与结果输出子模块连接,用于根据当前次数的健康检查总结果,控制向后端服务器的流量分发。本专利技术利用健康检查模块汇本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种负载均衡设备中的健康检查系统,其特征在于,所述健康检查系统包括:健康检查模块和转发模块;所述转发模块和后端服务器均与所述健康检查模块连接;所述转发模块与所述后端服务器连接;所述健康检查模块,包括:检查子模块,与所述后端服务器连接,用于利用N个预设健康检查方法对所述后端服务器进行检查,得到N个当前次数的健康检查分结果;所述健康检查结果为正常结果或异常结果;N>1;结果输出子模块,与所述检查子模块连接,用于根据预设阈值和所有当前次数的健康检查分结果,输出所述后端服务器当前次数的健康检查总结果;所述转发模块,包括:流量分发子模块,与所述结果输出子模块连接,用于根据当前次数的健康检查总结果,控制向所述后端服务器的流量分发。2.根据权利要求1所述的负载均衡设备中的健康检查系统,其特征在于,所述健康检查系统,还包括:检查方法存储子模块;所述检查方法存储子模块与所述检查子模块连接;所述检查方法存储子模块用于存储所述预设健康检查方法。3.根据权利要求2所述的负载均衡设备中的健康检查系统,其特征在于,所述健康检查模块,还包括:检查方法获取子模块;所述检查方法获取子模块分别与所述检查方法存储子模块和所述检查子模块连接;所述检查方法获取子模块用于从所述检查方法存储子模块获取所述预设健康检查方法,并将所述预设健康检查方法发送至所述检查子模块。4.根据权利要求3所述的负载均衡设备中的健康检查系统,其特征在于,所述健康检查模块,还包括:预设阈值存储子模块;所述预设阈值存储子模块与所述结果输出子模块连接;所述预设阈值存储子模块用于存储所述预设阈值。5.根据权利要求1所述的负载均衡设备中的健康检查系统,其特征在于,所述结果输出子模块,包...

【专利技术属性】
技术研发人员:李文化
申请(专利权)人:上海弘积信息科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1