[发明专利]负载均衡方法、系统、电子设备及计算机可读存储介质有效
申请号: | 201610534680.4 | 申请日: | 2016-07-07 |
公开(公告)号: | CN107453938B | 公开(公告)日: | 2020-11-20 |
发明(设计)人: | 徐新坤 | 申请(专利权)人: | 北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司 |
主分类号: | H04L12/26 | 分类号: | H04L12/26;H04L29/08 |
代理公司: | 中科专利商标代理有限责任公司 11021 | 代理人: | 任岩 |
地址: | 100195 北京市海淀区杏石口路6*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 负载 均衡 方法 系统 电子设备 计算机 可读 存储 介质 | ||
本发明提供了一种负载均衡方法及系统,在每次检查完节点的有效性后,计算下一次检查该节点时节点状态不变的概率,根据该概率计算本次检查完该节点后距下一次检查该节点的时间间隔,这样能动态改变节点检查的时间间隔,即对于有效性状态不变的节点,适应性减少了检查的频率,降低了检查所需的资源消耗,对于有效性发生改变的节点,适应性提高检查的频率,保证了检查的实时性。
技术领域
本发明属于计算机技术领域,尤其涉及一种负载均衡方法及系统,用于实现多个节点间流量的负载均衡。
背景技术
在大型互联网公司中,在许多节点上部署有应用,为了实现这些节点间的负载均衡,需要对这些节点进行流量分配。现有技术如图1所示,采用负载均衡集群进行节点分流,负载均衡集群由多个负载均衡器(例如,haproxy、nginx)组成,每个负载均衡器均与每个节点连接,负载均衡器可以将用户的请求转发给节点上的应用,并将节点上应用的执行结果返回给用户。
负载均衡器需要对后端的节点定期进行有效性检查,以便确保节点有效。现在技术中,通常采用两种方案进行节点有效性检查:一种是进行高频的有效性检查,这种方法会导致消耗大量不必要的资源,甚至会压垮一些本已比较繁忙的节点;另一种方法是增长健康检查的周期,这样虽然减小了资源消耗,但会损失节点检查的及时性。
发明内容
(一)要解决的技术问题
本发明提供一种负载均衡方法及系统,能以低资源消耗、高实时性地检查出所有节点中的有效节点,并实现有效节点间的负载均衡。
(二)技术方案
本发明提供一种负载均衡方法,用于实现多个节点间流量的负载均衡,方法包括:
S1,循环对多个节点中每个节点的有效性进行检查,识别出该节点为有效节点或失效节点;
S2,将流量导入至多个节点中的有效节点。
进一步,步骤S1中,在循环检查每个节点时,如果连续r次检查到该节点为有效状态,则识别出该节点为有效节点,如果连续f次检查到该节点为失效状态,则识别出该节点为失效节点,其中,r和f为大于等于2的整数。
进一步,步骤S1包括:
S11,针对每个节点,为其设置count变量和last_state变量,其中,每次检查该节点时,如果该节点的有效性不变,则令count加1,否则,令count等于0,last_state表示上一次检查出的该节点的有效性,初始化count为0,并且,初始化last_state的值为有效状态或失效状态;
S12,获得一个0到1之间的随机数m,休眠m×n时间后,开始有效性检查,其中,n表示每次检查的周期,单位为秒;
S13,获取当前检查出的该节点的有效性current_state,如果current_state不等于last_state,则执行步骤S14,如果等于,则执行步骤S15;
S14,令count=0,并令last_state值为current_state的值,休眠n时间后,执行步骤S13;
S15,计算下一次检查时,检查出的该节点的有效性current_state与last_state相等的概率pcount:
其中,x和s为可配置的常数,
然后计算本次检查到下一次检查的时间间隔tcount:
tcount=pcount×c+n,
其中,c为可配置的常数,同时,令count加1;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司,未经北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610534680.4/2.html,转载请声明来源钻瓜专利网。