一种基于HTTP2进行图数据库请求路由的负载均衡方法及装置与流程
- 国知局
- 2024-08-02 14:57:27
本申请涉及图数据库查询,尤其是一种基于http2进行图数据库请求路由的负载均衡方法及装置。
背景技术:
1、图数据库nebulagraph的查询引擎是分布式无状态的,请求可以发送给各个查询引擎。在图数据库业务发展中,业务对服务高可用和高性能的要求越来越高,这就要求在客户端之上支持请求的负载均衡进行请求的分发,这样相同的请求可以被路由到不同的数据库查询引擎服务上,使得查询引擎服务压力被分散,同时当某个查询服务崩溃时,不影响上层业务的处理,请求会被自动分发给健康的查询服务。nebulagraph客户端和服务端是使用rpc协议进行通信的,客户端的负载均衡是无状态的,只能进行ip和端口号的处理和请求转发,这只能支持将请求路由到拥有相同资源的图数据库服务上。
2、但当业务需要同时访问多个图数据库集群时,由于不同的图数据库集群中的图空间不同,图数据库查询引擎服务不再是无状态的,因为当一个查询请求发来,负载均衡器无法直接将请求路由给任何一个集群的查询引擎服务。也就是当客户端请求接口保持统一的情况下,无法支持多集群的请求路由。比如查询图a的请求如果被路由给创建了图b的集群上,请求便会失败。
3、公开了为cn102263828a的专利提供一种负载均衡分配方法及设备,用于解决现有技术中当同一目标资源拥有不同的url时,在cdn系统中的cache服务器上需要重复存储目标资源的问题,但仍无法解决不同目标资源拥有相同url时如何将请求准确的路由到对应的目标资源的问题。
技术实现思路
1、本申请的目的在于克服现有技术中不同目标资源拥有相同url时如何将请求准确的路由到对应的目标资源的问题,提供一种基于http2进行图数据库请求路由的负载均衡方法及装置。
2、第一方面,提供了一种基于http2进行图数据库请求路由的负载均衡方法,包括:
3、接收用户发送的包含header的http2请求,其中,所述header的键和值分别表示图空间和图空间名称;
4、解析所述http2请求中的header以获取图空间名称;
5、根据所获取到的图空间名称从预设header信息映射表中查询获得对应的集群服务名称;
6、将所述http2请求转发至所述集群服务名称对应的集群服务中;
7、采用负载均衡算法将所述http2请求路由给所述集群服务中的查询引擎服务进行查询。
8、在一些可能的实现方式中,所述header的键和值由客户进行配置,若header的键和值未被配置,则header的键和值为空。
9、在一些可能的实现方式中,所述预设header信息映射表的内容为:图空间名称-集群服务名称。
10、在一些可能的实现方式中,若所述http2请求中的header的键和值为空,则将所述http2请求随机转发至多个集群服务中采用负载均衡算法进行路由。
11、在一些可能的实现方式中,所述负载均衡算法包括但不限于:轮询、加权轮询、随机、最少连接和源地址散列。
12、第二方面,提供了一种基于http2进行图数据库请求路由的负载均衡装置,包括:
13、接收模块,用于接收用户发送的包含header的http2请求,其中,所述header的键和值分别表示图空间和图空间名称;
14、解析模块,用于解析所述http2请求中的header以获取图空间名称;
15、查询模块,用于根据所获取到的图空间名称从预设header信息映射表中查询获得对应的集群服务名称;
16、转发模块,用于将所述http2请求转发至所述集群服务名称对应的集群服务中;
17、路由模块,用于采用负载均衡算法将所述http2请求路由给所述集群服务中的查询引擎服务进行查询。
18、在一些可能的实现方式中,所述预设header信息映射表的内容为:图空间名称-集群服务名称。
19、第三方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面所述的方法。
20、第四方面,提供了一种计算机可读存储介质,所述计算机可读介质存储用于设备执行的程序代码,该程序代码包括用于执行如上述第一方面中的任意一种实现方式中方法的步骤。
21、第五方面,提供了一种电子设备,所述电子设备包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如上述第一方面中的任意一种实现方式中的方法。
22、本申请具有如下有益效果:本申请通过支持http2协议和支持基于header的负载均衡对请求进行分发,能够实现相同url路由到拥有不同目标资源的目标服务上,在确保客户端请求接口和url不变的前提下实现针对不同图空间进行请求的负载均衡,提升系统性能和高可用,增强整个系统架构的易用性、灵活性和稳定性。
技术特征:1.一种基于http2进行图数据库请求路由的负载均衡方法,其特征在于,包括:
2.根据权利要求1所述的基于http2进行图数据库请求路由的负载均衡方法,其特征在于,所述header的键和值由客户进行配置,若header的键和值未被配置,则header的键和值为空。
3.根据权利要求1所述的基于http2进行图数据库请求路由的负载均衡方法,其特征在于,所述预设header信息映射表的内容为:图空间名称-集群服务名称。
4.根据权利要求2所述的基于http2进行图数据库请求路由的负载均衡方法,其特征在于,若所述http2请求中的header的键和值为空,则将所述http2请求随机转发至多个集群服务中采用负载均衡算法进行路由。
5.根据权利要求1-4中任一项所述的基于http2进行图数据库请求路由的负载均衡方法,其特征在于,所述负载均衡算法包括但不限于:轮询、加权轮询、随机、最少连接和源地址散列。
6.一种基于http2进行图数据库请求路由的负载均衡装置,其特征在于,包括:
7.根据权利要求6所述的基于http2进行图数据库请求路由的负载均衡装置,其特征在于,所述预设header信息映射表的内容为:图空间名称-集群服务名称。
8.一种计算机程序产品,其特征在于,所述计算机程序产品内存储有计算机指令,所述计算机指令被处理器执行时实现权利要求1-5任一所述的方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储用于设备执行的程序代码,该程序代码包括用于执行如权利要求1-5中任一项所述方法的步骤。
10.一种电子设备,其特征在于,所述电子设备包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如权利要求1-5中任一项所述的方法。
技术总结本申请涉及图数据库查询技术领域,解决了现有技术中不同目标资源拥有相同url时如何将请求准确的路由到对应的目标资源的问题,公开了一种基于HTTP2进行图数据库请求路由的负载均衡方法及装置,该方法包括:接收用户发送的包含header的HTTP2请求,对HTTP2请求进行解析并从预设header信息映射表中查找到对应的集群服务并将HTTP2请求转发至该集群服务,再采用负载均衡算法进行服务的选择和引擎服务的查询,能够实现相同URL路由到拥有不同目标资源的目标服务上,在确保客户端请求接口和url不变的前提下实现针对不同图空间进行请求的负载均衡。技术研发人员:王昌圆,黄凤仙,叶小萌受保护的技术使用者:杭州悦数科技有限公司技术研发日:技术公布日:2024/7/29本文地址:https://www.jishuxx.com/zhuanli/20240801/244463.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表