本发明涉及数据处理,尤其涉及一种基于客户端路由的负载均衡方法、装置及系统。
背景技术:
1、现有的负载均衡技术一般分为服务端负载均衡和客户端负载均衡,通常服务端负载均衡都具有一定的路由能力,而客户端负载均衡是没有路由能力的。使用服务端负载均衡时,负载均衡服务器会成为单点故障点,为避免单点故障,需要配置多个负载均衡服务器,如图1所示,配置了两台具有路由功能的负载均衡服务器120,不具有路由能力的客户端110进行负载均衡,将前端业务应用或浏览器的业务请求发送到两台具有路由功能的负载均衡服务器120其中之一,再由服务端侧的具有路由功能的负载均衡服务器120路由请求到相应的服务上。其中,服务a、服务b和服务c可以部署在一台服务器130中,也可以部署在不同服务器130中。
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、本发明提供的基于客户端路由的负载均衡方法、装置及系统,通过拦截应用程序发送的服务请求;将所述服务请求中的业务内容和差异性标识分别与服务列表中各服务的业务内容和差异性标识进行匹配,将匹配结果一致的服务作为目标服务集合;在所述目标服务集合非空的情况下,根据负载均衡策略向服务端请求所述目标服务集合中的服务。即在客户端根据差异性标识实现路由决策且负载均衡,避免了传统的服务端路由负载均衡方式导致的部署复杂且传输路径长,传输路径越长,单条链路的故障点越多的问题。
1.一种基于客户端路由的负载均衡方法,其特征在于,包括:
2.根据权利要求1所述的基于客户端路由的负载均衡方法,其特征在于,所述将所述服务请求中的业务内容和差异性标识分别与服务列表中各服务的业务内容和差异性标识进行匹配,并将匹配结果一致的服务作为目标服务集合,包括:
3.根据权利要求1所述的基于客户端路由的负载均衡方法,其特征在于,还包括:同步所述服务列表中服务的业务内容与差异性标识。
4.根据权利要求3所述的基于客户端路由的负载均衡方法,其特征在于,所述同步所述服务列表中服务的业务内容与差异性标识,包括:
5.根据权利要求3所述的基于客户端路由的负载均衡方法,其特征在于,所述同步所述服务列表中服务的业务内容与差异性标识,包括:
6.根据权利要求1所述的基于客户端路由的负载均衡方法,其特征在于,所述差异性标识为单个业务属性标识或多个业务属性标识组成的逻辑表达式。
7.根据权利要求1~6中任一项所述的基于客户端路由的负载均衡方法,其特征在于,在将所述服务请求中的业务内容和差异性标识分别与服务列表中服务的业务内容和差异性标识进行匹配,将匹配结果一致的服务作为目标服务集合之后,还包括:在所述目标服务集合为空的情况下,输出无可用服务的错误信息,并返回至所述应用程序。
8.一种基于客户端路由的负载均衡装置,其特征在于,包括:
9.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1~7中任一项所述的基于客户端路由的负载均衡方法。
10.一种基于客户端路由的负载均衡系统,其特征在于,包括:服务器及如权利要求9所述的电子设备,所述电子设备为客户端,所述客户端连接所述服务器。
11.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1~7中任一项所述的基于客户端路由的负载均衡方法。
