本申请涉及网络服务,尤其涉及一种负载均衡方法、装置、设备、存储介质及产品。
背景技术:
1、随着互联网的发展,可以通过服务器集群响应来自终端设备的请求,以为终端设备提供服务。为了确保服务器集群的响应速度,通常会将服务器集群内接收到的请求,按照负载均衡算法分配给对应的微服务内的节点,从而获得高可用性和较好的性能。
2、现有的负载均衡算法主要是采用轮询法,其基本原理是将请求依次分配到每个节点上,然后将请求循环分配给下一个节点,然而这会出现某些节点负载过高的情况,从而导致该请求响应的及时性较差,或者出现某些节点负载过低的情况,造成服务资源的浪费。
技术实现思路
1、本申请提供一种负载均衡方法,以解决现有技术中请求响应的及时性较差和服务资源浪费的问题。
2、第一方面,本申请实施例提供一种负载均衡方法,包括:
3、根据接收到的待执行请求,确认所述待执行请求需转发至的微服务;
4、获取所述微服务内每一节点的请求信息;
5、根据每一所述请求信息,计算每一所述节点的处理能力;
6、基于每一所述处理能力,将所述待执行请求转发至所述微服务内对应的节点。
7、进一步的,所述根据每一所述请求信息,计算每一所述节点的处理能力,包括:
8、根据每一所述请求信息,计算每一所述节点在第一预设时长内的第一平均请求响应时长和在所述第一预设时长内接收到的请求的次数占比;
9、根据每一所述第一平均请求响应时长和所述次数占比,计算每一所述节点的处理能力。
10、进一步的,在所述根据接收到的待执行请求,确认所述待执行请求需转发至的微服务之前,所述负载均衡方法还包括:对所述微服务进行心跳检查;
11、所述对所述微服务进行心跳检查,包括:
12、对于每一所述节点,计算所述节点在第二预设时长内的第二平均请求响应时长和在第三预设时长内的第三平均请求响应时长,并计算所述第二平均请求响应时长与所述第三平均请求响应时长的差值;
13、获取所述差值大于预设差值阈值的所述节点的第一总数量;
14、根据所述第一总数量,获取所述微服务的健康状态。
15、进一步的,所述根据所述第一总数量,获取所述微服务的健康状态,包括:
16、获取所述微服务内的所有所述节点的第二总数量;
17、若所述第一总数量与所述第二总数量之间的比值大于预设比值阈值,则将所述微服务标记为不健康服务,将所述微服务下线;
18、若所述第一总数量与所述第二总数量之间的比值小于或等于所述预设比值阈值,则将所述微服务标记为健康服务。
19、进一步的,所述将所述待执行请求转发至所述微服务内对应的节点之后,所述负载均衡方法还包括:
20、对于任一所述节点,根据所述节点在第四预设时长内接收到的每一请求的请求响应时长,确认所述节点的告警阈值,若所述节点的当前请求响应时长大于所述告警阈值,则发出警告。
21、进一步的,所述请求信息包括所述节点在第一预设时长内接收到的每一请求的请求响应时长,和所述节点在所述第一预设时长内接收到的所有请求的请求次数。
22、第二方面,本申请实施例提供一种负载均衡装置,包括:
23、请求接收模块,用于根据接收到的待执行请求,确认所述待执行请求需转发至的微服务;
24、请求信息获取模块,用于获取所述微服务内每一节点的请求信息;
25、处理能力计算模块,用于根据每一所述请求信息,计算每一所述节点的处理能力;
26、请求转发模块,用于基于每一所述处理能力,将所述待执行请求转发至所述微服务内对应的节点。
27、第三方面,本申请实施例提供一种电子设备,包括:
28、存储器,用于存储计算机程序;
29、处理器,用于执行所述计算机程序;
30、其中,所述处理器执行所述计算机程序时实现上述第一方面任一项所述的负载均衡方法。
31、第四方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被执行时实现上述第一方面任一项所述的负载均衡方法。
32、第五方面,本申请实施例提供一种计算机程序产品,包括计算机指令,所述计算机指令被处理器执行时实现上述第一方面任一项所述的负载均衡方法。
33、与现有技术相比,本申请实施例提供的一种负载均衡方法,其有益效果在于:通过根据接收到的待执行请求,确认所述待执行请求需转发至的微服务,获取所述微服务内每一节点的请求信息,根据每一所述请求信息,计算每一所述节点的处理能力,基于每一所述处理能力,将所述待执行请求转发至所述微服务内对应的节点,能够提高请求的响应速度,避免出现某些节点负载过高从而导致响应及时性较差或者某些节点负载过低而造成服务资源浪费的情况,从而更高效地利用系统资源。
1.一种负载均衡方法,其特征在于,包括:
2.如权利要求1所述的负载均衡方法,其特征在于,所述根据每一所述请求信息,计算每一所述节点的处理能力,包括:
3.如权利要求1所述的负载均衡方法,其特征在于,在所述根据接收到的待执行请求,确认所述待执行请求需转发至的微服务之前,所述负载均衡方法还包括:对所述微服务进行心跳检查;
4.如权利要求3所述的负载均衡方法,其特征在于,所述根据所述第一总数量,获取所述微服务的健康状态,包括:
5.如权利要求1所述的负载均衡方法,其特征在于,所述将所述待执行请求转发至所述微服务内对应的节点之后,所述负载均衡方法还包括:
6.如权利要求1所述的负载均衡方法,其特征在于,所述请求信息包括所述节点在第一预设时长内接收到的每一请求的请求响应时长,和所述节点在所述第一预设时长内接收到的所有请求的请求次数。
7.一种负载均衡装置,其特征在于,包括:
8.一种电子设备,其特征在于,包括:
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被执行时实现如权利要求1至6任一项所述的负载均衡方法。
10.一种计算机程序产品,其特征在于,包括计算机指令,所述计算机指令被处理器执行时实现如权利要求1至6任一项所述的负载均衡方法。