本申请涉及服务器,特别是涉及一种用于中间件的负载均衡方法、装置和计算机设备。
背景技术:
1、随着应用系统面临访问请求数量的升高,服务器端的并发量也越来越高。服务器负载过重会引起页面响应过慢和数据传递丢失等问题。面对这问题,负载均衡技术应用而生。
2、相关技术中的负载均衡方法中,当访问请求从客户端发送给服务端时,按照时间顺序将访问请求逐个分配给不同的服务端。
3、然而上述负载均衡方法的灵活性比较低。
技术实现思路
1、基于此,有必要针对上述技术问题,提供一种灵活性较高的用于中间件的负载均衡方法、装置和计算机设备品。
2、第一方面,本申请提供了一种用于中间件的负载均衡方法,该方法用于中间件中,中间件与多个服务端连接,该方法包括:
3、获取目标客户端发送的目标访问请求和目标访问请求对应的应用标识;
4、根据应用标识,从多个服务端中确定多个第一服务端;
5、根据多个第一服务端和中间件当前配置的目标均衡策略获取目标均衡数据;中间件的均衡策略集合中包括第一均衡策略和第二均衡策略,其中,第一均衡策略的优先级大于第二均衡策略的优先级,其中,中间件的均衡策略执行顺序包括:若执行第一均衡策略得到的候选服务端的数量等于1,则不执行第二均衡策略;目标均衡策略至少包括第二均衡策略;
6、基于目标均衡数据确定目标服务端。
7、在其中一个实施例中,目标均衡策略包括第一均衡策略和第二均衡策略,根据多个第一服务端和中间件当前配置的目标均衡策略获取目标均衡数据,包括:
8、若目标客户端满足均衡服务端推荐条件,则将均衡服务端的代理服务器确定为第二服务端,均衡服务端推荐条件包括多个第一服务端中包括均衡服务端且目标客户端在均衡服务端对应的服务列表中,均衡服务端包括多个服务器构成的服务集群,且服务集群设置有用于均衡负载的代理服务器;
9、若第二服务端的数量大于1,则根据多个第二服务端的实时性能数据确定目标均衡数据。
10、在其中一个实施例中,根据多个第二服务端的实时性能数据确定目标均衡数据,包括:
11、根据多个第二服务端和目标客户端的物理距离,得到至少一个第三服务端;
12、若第三服务端的数量大于1,则根据多个第三服务端的实时性能数据确定目标均衡数据。
13、在其中一个实施例中,方法还包括:
14、若目标客户端不满足均衡服务端推荐条件,则根据多个第一服务端的实时性能数据确定目标均衡数据。
15、在其中一个实施例中,目标均衡策略包括第一均衡策略和第二均衡策略,根据多个第一服务端和中间件当前配置的目标均衡策略获取目标均衡数据,包括:
16、根据多个第一服务端和目标客户端的物理距离,得到至少一个第二服务端;
17、若第二服务端的数量大于1,则根据多个第二服务端的实时性能数据确定目标均衡数据。
18、在其中一个实施例中,目标均衡策略为第二均衡策略;根据多个第一服务端和中间件当前配置的目标均衡策略获取目标均衡数据,包括:
19、针对每个第一服务端,获取第一服务端对应的cpu利用率、磁盘利用率、内存利用率和服务状态;
20、根据cpu利用率、磁盘利用率、内存利用率和服务状态,得到第一服务端对应的服务权重;
21、根据多个第一服务端对应的服务权重按照加权轮询算法进行处理,得到目标均衡数据。
22、在其中一个实施例中,在根据应用标识,从多个服务端中确定多个第一服务端的步骤之前,方法还包括:
23、从均衡数据缓存空间获取与目标客户端对应的客户端标识和应用标识对应的均衡缓存数据;
24、若均衡数据缓存空间中不存在与目标客户端和应用标识对应的均衡缓存数据,则继续执行根据应用标识,从多个服务端中确定多个第一服务端的步骤;
25、若均衡数据缓存空间中存在与目标客户端和应用标识对应的均衡缓存数据,则根据均衡缓存数据确定目标均衡数据。
26、在其中一个实施例中,根据均衡缓存数据确定目标均衡数据,包括:
27、检测均衡缓存数据对应的服务端是否均在线;
28、若均衡缓存数据对应的服务端均在线,则将均衡缓存数据作为目标均衡数据;
29、若均衡缓存数据对应的服务端不全在线,则继续执行根据应用标识,从多个服务端中确定多个第一服务端的步骤。
30、第二方面,本申请还提供了一种用于中间件的负载均衡装置,该装置用于中间件中,中间件与多个服务端连接,该装置包括:
31、访问请求获取模块,用于获取目标客户端发送的目标访问请求和目标访问请求对应的应用标识;
32、第一服务端确定模块,用于根据应用标识,从多个服务端中确定多个第一服务端;
33、均衡数据获取模块,用于根据多个第一服务端和中间件当前配置的目标均衡策略获取目标均衡数据;中间件的均衡策略集合中包括第一均衡策略和第二均衡策略,其中,第一均衡策略的优先级大于第二均衡策略的优先级,其中,中间件的均衡策略执行顺序包括:若执行第一均衡策略得到的候选服务端的数量等于1,则不执行第二均衡策略;目标均衡策略至少包括第二均衡策略;
34、目标服务端确定模块,用于基于目标均衡数据确定目标服务端。
35、第三方面,本申请还提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现如上述第一方面所述方法的步骤。
36、上述用于中间件的负载均衡方法、装置和计算机设备,该均衡负载方法用于与多个服务端连接的中间件中,通过获取目标客户端发送的目标访问请求和目标访问请求对应的应用标识,根据应用标识,从多个服务端中确定多个第一服务端,根据多个第一服务端和中间件当前配置的目标均衡策略获取目标均衡数据,基于目标均衡数据确定目标服务端,其中,中间件的均衡策略集合中包括第一均衡策略和第二均衡策略,第一均衡策略的优先级大于第二均衡策略的优先级,中间件的均衡策略的执行顺序包括:若执行第一均衡策略得到的候选服务端的数量等于1,则不执行第二均衡策略,目标均衡策略至少包括第二均衡策略;这样,中间件的均衡策略可以有多种组合,并且可以动态调整,针对目标访问请求根据中间件当前配置的目标均衡策略进行负载均衡访问,相较于传统技术仅采用按照时间顺序轮询的方式进行负载均衡访问,上述提供的负载均衡方法的灵活性较高。
1.一种用于中间件的负载均衡方法,其特征在于,所述中间件与多个服务端连接,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述目标均衡策略包括所述第一均衡策略和所述第二均衡策略,所述根据所述多个第一服务端和所述中间件当前配置的目标均衡策略获取所述目标均衡数据,包括:
3.根据权利要求2所述的方法,其特征在于,所述根据多个所述第二服务端的实时性能数据确定所述目标均衡数据,包括:
4.根据权利要求2所述的方法,其特征在于,所述方法还包括:
5.根据权利要求1所述的方法,其特征在于,所述目标均衡策略包括所述第一均衡策略和所述第二均衡策略,所述根据所述多个第一服务端和所述中间件当前配置的目标均衡策略获取所述目标均衡数据,包括:
6.根据权利要求1所述的方法,其特征在于,所述目标均衡策略为所述第二均衡策略;所述根据所述多个第一服务端和所述中间件当前配置的目标均衡策略获取所述目标均衡数据,包括:
7.根据权利要求1所述的方法,其特征在于,在所述根据所述应用标识,从所述多个服务端中确定多个第一服务端的步骤之前,所述方法还包括:
8.根据权利要求7所述的方法,其特征在于,所述根据所述均衡缓存数据确定所述目标均衡数据,包括:
9.一种用于中间件的负载均衡装置,其特征在于,所述装置用于中间件中,所述中间件与多个服务端连接,所述装置包括:
10.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至8中任一项所述的方法的步骤。