一种负载均衡系统中的健康检查方法及装置制造方法及图纸

技术编号:16236052 阅读:37 留言:0更新日期:2017-09-19 16:10
一种负载均衡系统中的健康检查方法及装置;所述方法包括:将所述负载均衡系统中预定参数相同的健康检查任务进行合并;所述预定参数至少包括健康检查地址;周期性对所述健康检查地址对应的后端服务器执行合并后的健康检查任务。本申请可以解决当一个后端服务器被配置在多个负载均衡服务中时,该后端服务器可能承受多个健康检查的流量的问题。

Method and device for health inspection in load balancing system

A health check method and device of load balancing in the system; the method comprises the following steps: the load balancing system with predetermined health examination task parameters are the same; the predetermined parameters including at least periodic health check address; the health examination of the back-end server should address implementation of the combined health examination task. This application can solve the problem that when a back-end server is configured in multiple load balancing services, the backend server may withstand multiple health checks.

【技术实现步骤摘要】
一种负载均衡系统中的健康检查方法及装置
本专利技术涉及负载均衡领域,尤其涉及一种负载均衡系统中的健康检查方法及装置。
技术介绍
健康检查是负载均衡服务中非常重要的功能之一。负载均衡系统中的一个负载均衡服务主要包括以下几个元素:服务IP地址,服务端口,后端服务器IP地址,后端服务器端口。用于提供负载均衡服务的负载均衡器将流量转发到后端服务器上,并且通过周期性的健康检查来探测后端服务器是否在正常提供服务。当前的健康检查方式是:对每个负载均衡服务的每个后端服务器分别进行健康检查,并分别根据对每个后端服务器健康检查的结果决定是否向该后端服务器进行流量转发。健康检查涉及以下几个参数:(1)健康检查地址(dst),即负载均衡器对后端服务器进行健康检查的目标地址和端口;(2)健康检查源地址(src),即负载均衡器进行健康检查时的源地址;(3)健康检查时间间隔(interval),即负载均衡器对后端服务器进行健康检查的时间间隔;(4)健康检查超时时间(timeout),如果在这段时间内负载均衡器没有和后端服务器成功建立TCP(TransmissionControlProtocol传输控制协议)连接,或者建立TCP连接成功但是后端服务器在这段时间内没有给予负载均衡器响应,那么就认为健康检查失败;(5)健康检查正常阈值(rise),当某台后端服务器已经处于异常状态,对它健康检查连续成功rise次,就认为这台后端服务器恢复到正常状态;(6)健康检查异常阈值(fall),当某台后端服务器已经处于正常状态,对它健康检查连续失败fall次,就认为这台后端服务器处于异常状态。对于一个负载均衡服务,健康检查的流程是这样的:一台后端服务器初始状态为正常(也可以初始状态为异常,取决于用户的配置需求)。负载均衡器对后端服务器以interval的时间间隔分别对每台后端服务器(无论是正常状态还是异常状态)进行健康检查。对于原本状态为正常的后端服务器,如果连续fall次健康检查失败,则将这台后端服务器标记为异常,并且不会再对它进行流量转发。对于原本状态为异常的后端服务器,如果连续rise次健康检查成功,则将这台后端服务器标记为正常,并且开始对它进行流量转发。这里,健康检查失败的定义是,负载均衡器和后端服务器建立TCP连接出错,或者在timeout时间内建立TCP连接失败,或者是建立TCP连接成功,但是在timeout时间内后端服务器没有给负载均衡器返回响应。本申请的专利技术人在设计本申请的过程中发现,现有的健康检查方式存在如下问题:往往同一台后端服务器会被配置在多个负载均衡服务里,对于每个负载均衡服务,负载均衡器会针对配置在该负载均衡服务里的每个后端服务器分别按照上述流程进行健康检查。这意味着如果一个后端服务器被配置在多个负载均衡服务中,该后端服务器就可能承受多个健康检查的流量,并且这些流量随着配置该后端服务器的负载均衡服务数量的增加而线性增加,将会给该后端服务器带来一定的压力。假定一台后端服务器被配置在M个负载均衡服务中,那么对于该后端服务器来说,一个interval内接收到的健康检查次数就为M。如果由于业务的丰富变化,需要将这台后端服务器配置到其他负载均衡服务中,即增大M,那么该后端服务器一个interval内接收到的健康检查次数也会增大。如果后端服务器本身的性能不特别强大,那么健康检查的次数增大后,产生的流量就会给后端服务器带来一定的负担。如果后端服务器上的配置不够优化,那么健康检查的次数增大后,也会造成过多的垃圾日志。
技术实现思路
本申请提供了一种负载均衡系统中的健康检查方法及装置,可以解决当一个后端服务器被配置在多个负载均衡服务中时,该后端服务器可能承受多个健康检查的流量的问题。本申请采用如下技术方案。一种负载均衡系统中的健康检查方法,包括:将所述负载均衡系统中预定参数相同的健康检查任务进行合并;所述预定参数至少包括健康检查地址;周期性对所述健康检查地址对应的后端服务器执行合并后的健康检查任务。可选地,所述预定参数还包括以下任一个或任几个:健康检查源地址、健康检查时间间隔、健康检查超时时间。可选地,所述将负载均衡系统中预定参数相同的健康检查任务进行合并包括:当所述负载均衡系统中新增一个负载均衡服务的健康检查任务后,解析出新增的健康检查任务的所述预定参数;在已保存的任务中根据所述预定参数进行查询,如果已保存的任务中存在与所述新增的健康检查任务的预定参数相同的第一任务,则将所述新增的健康检查任务作为所述第一任务的子任务,将所述第一任务作为合并后的健康检查任务;如果已保存的任务中不存在与所述新增的健康检查任务的预定参数相同的任务,则新建第二任务并保存,将所述新增的健康检查任务作为所述第二任务的子任务,将所述新增的健康检查任务的预定参数作为所述第二任务的预定参数,将所述第二任务作为合并后的健康检查任务。可选地,所述在已保存的任务中根据所述预定参数进行查询包括:对所述预定参数进行哈希运算得到哈希值;以所述哈希值作为关键字,在已保存的任务中查询是否存在以相同哈希值作为索引的任务;其中,每个所述已保存的任务的索引分别是以该任务的所述预定参数进行哈希运算得到的哈希值。可选地,所述的方法还包括:每次对所述健康检查地址对应的后端服务器执行所述合并后的健康检查任务之后,对于所述合并后的健康检查任务所包括的每个子任务,分别进行如下操作:如果所述健康检查地址对应的后端服务器针对该子任务所对应的负载均衡服务的当前状态为正常,且对所述健康检查地址对应的后端服务器连续fall次健康检查失败,则将该后端服务器针对该子任务的状态标记为异常;其中,fall为该子任务的健康检查异常阈值;如果所述健康检查地址对应的后端服务器针对该子任务所对应的负载均衡服务的当前状态为异常,且对所述健康检查地址对应的后端服务器连续rise次健康检查失败,则将该后端服务器针对该子任务的状态标记为正常;其中,rise为该子任务的健康检查正常阈值。一种负载均衡系统中的健康检查装置,包括:合并模块,用于将所述负载均衡系统中预定参数相同的健康检查任务进行合并;所述预定参数至少包括健康检查地址;执行模块,用于周期性对所述健康检查地址对应的后端服务器执行合并后的健康检查任务。可选地,所述预定参数还包括以下任一个或任几个:健康检查源地址、健康检查时间间隔、健康检查超时时间。可选地,所述合并模块包括:解析单元,用于当所述负载均衡系统中新增一个负载均衡服务的健康检查任务后,解析出新增的健康检查任务的所述预定参数;更新单元,用于在已保存的任务中根据所述预定参数进行查询,如果已保存的任务中存在与所述新增的健康检查任务的预定参数相同的第一任务,则将所述新增的健康检查任务作为所述第一任务的子任务,将所述第一任务作为合并后的健康检查任务;如果已保存的任务中不存在与所述新增的健康检查任务的预定参数相同的任务,则新建第二任务并保存,将所述新增的健康检查任务作为所述第二任务的子任务,将所述新增的健康检查任务的预定参数作为所述第二任务的预定参数,将所述第二任务作为合并后的健康检查任务。可选地,所述更新单元在已保存的任务中根据所述预定参数进行查询包括:所述更新单元对所述预定参数进行哈希运算得到哈希本文档来自技高网
...
一种负载均衡系统中的健康检查方法及装置

【技术保护点】
一种负载均衡系统中的健康检查方法,包括:将所述负载均衡系统中预定参数相同的健康检查任务进行合并;所述预定参数至少包括健康检查地址;周期性对所述健康检查地址对应的后端服务器执行合并后的健康检查任务。

【技术特征摘要】
1.一种负载均衡系统中的健康检查方法,包括:将所述负载均衡系统中预定参数相同的健康检查任务进行合并;所述预定参数至少包括健康检查地址;周期性对所述健康检查地址对应的后端服务器执行合并后的健康检查任务。2.如权利要求1所述的方法,其特征在于,所述预定参数还包括以下任一个或任几个:健康检查源地址、健康检查时间间隔、健康检查超时时间。3.如权利要求1或2所述的方法,其特征在于,所述将负载均衡系统中预定参数相同的健康检查任务进行合并包括:当所述负载均衡系统中新增一个负载均衡服务的健康检查任务后,解析出新增的健康检查任务的所述预定参数;在已保存的任务中根据所述预定参数进行查询,如果已保存的任务中存在与所述新增的健康检查任务的预定参数相同的第一任务,则将所述新增的健康检查任务作为所述第一任务的子任务,将所述第一任务作为合并后的健康检查任务;如果已保存的任务中不存在与所述新增的健康检查任务的预定参数相同的任务,则新建第二任务并保存,将所述新增的健康检查任务作为所述第二任务的子任务,将所述新增的健康检查任务的预定参数作为所述第二任务的预定参数,将所述第二任务作为合并后的健康检查任务。4.如权利要求3所述的方法,其特征在于,所述在已保存的任务中根据所述预定参数进行查询包括:对所述预定参数进行哈希运算得到哈希值;以所述哈希值作为关键字,在已保存的任务中查询是否存在以相同哈希值作为索引的任务;其中,每个所述已保存的任务的索引分别是以该任务的所述预定参数进行哈希运算得到的哈希值。5.如权利要求3所述的方法,其特征在于,还包括:每次对所述健康检查地址对应的后端服务器执行所述合并后的健康检查任务之后,对于所述合并后的健康检查任务所包括的每个子任务,分别进行如下操作:如果所述健康检查地址对应的后端服务器针对该子任务所对应的负载均衡服务的当前状态为正常,且对所述健康检查地址对应的后端服务器连续fall次健康检查失败,则将该后端服务器针对该子任务的状态标记为异常;其中,fall为该子任务的健康检查异常阈值;如果所述健康检查地址对应的后端服务器针对该子任务所对应的负载均衡服务的当前状态为异常,且对所述健康检查地址对应的后端服务器连续rise次健康检查失败,则将该后端服务器针对该子任务的状态标记为正常;其中,rise为该子任务的健康检查正常阈值。6.一种负载均衡系统中的健康检查...

【专利技术属性】
技术研发人员:王倩陈子昂任勇
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛,KY

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

1