本说明书涉及负载均衡,尤其涉及一种基于负载均衡的请求分配方法和装置。
背景技术:
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、本说明书提供的一种基于负载均衡的请求分配方法和装置,首先,监测多个服务实例的连接数量,所述服务实例对应有权重。其次,根据连接数量,确定所述多个服务实例是否满足均衡条件,所述均衡条件包括:服务实例之间连接数量的比例等于服务实例之间权重的比例,若不满足均衡条件,则从所述多个服务实例中选取异常服务实例。最后,调整所述异常服务实例的权重,以便根据调整后的权重为所述异常服务实例分配连接请求,使所述多个服务实例的连接数量满足均衡条件。本说明实施例中通过监测多个服务实例的连接数量,可以及时地根据连接数量,判断多个服务实例是否满足均衡条件,从而可以及时地筛选出异常的服务实例。通过调整异常服务实例的权重,可以及时处理突发场景下的服务实例间出现负载倾斜的问题。
1.一种基于负载均衡的请求分配方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述根据连接数量,确定所述多个服务实例是否满足均衡条件,包括:
3.根据权利要求2所述的方法,其特征在于,所述不满足均衡条件,包括:所述连接数量的比例大于所述权重的比例和/或所述连接数量的比例小于所述权重的比例。
4.根据权利要求3所述的方法,其特征在于,所述调整所述异常服务实例的权重,包括:
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
8.一种基于负载均衡的请求分配装置,其特征在于,包括:
9.一种电子设备,其特征在于,包括存储器和处理器,所述处理器和所述存储器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而实现权利要求1至7中任一项所述方法的步骤。
10.一种计算机存储介质,其特征在于,所述计算机存储介质存储有计算机程序指令,所述计算机程序指令被处理器执行时实现权利要求1至7中任一项所述方法的步骤。
11.一种计算机程序产品,其特征在于,包含有计算机程序,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述方法的步骤。