本申请实施例涉及云计算领域,特别涉及一种api网关的路由方法、装置、设备及系统。
背景技术:
1、云技术(cloud technology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。用于实现云技术的平台称为云平台。
2、随着用户对数据在不同应用场景中不同需求的逐渐增大,用户可能会通过客户端在云平台上进行不同后端的调用。例如,测试两个产品的性能时,在客户端向api网关发出应用程序接口(application programming interface,api)请求后,需要api网关将一部分客户端的api请求路由至策略a对应的后端,将另一部分客户端的api请求路由至策略b对应的后端。
3、相关技术中,api网关的策略匹配单一,使得api请求通过api网关进行路由的应用场景受到了极大的限制。
技术实现思路
1、本申请提供了一种api网关的路由方法、装置、设备及系统,通过自定义路由策略的条件表达式,使得api网关可将请求同一目标api的不同api请求路由至不同的后端节点。所述技术方案如下:
2、根据本申请的一方面,提供了一种api网关的路由方法,所述方法包括:
3、接收客户端发送的api请求,所述api请求用于请求目标api的服务;
4、在存在与所述目标api对应的至少一条自定义路由策略的情况下,将所述api请求与所述自定义路由策略的条件表达式进行匹配;
5、在所述api请求与所述自定义路由策略的条件表达式匹配成功的情况下,将所述api请求路由至所述自定义路由策略对应的自定义后端节点。
6、根据本申请的一方面,提供了一种api网关的路由装置,所述装置包括:
7、接收模块,用于接收客户端发送的api请求,所述api请求用于请求目标api的服务;
8、匹配模块,用于在存在与所述目标api对应的至少一条自定义路由策略的情况下,将所述api请求与所述自定义路由策略的条件表达式进行匹配;
9、路由模块,用于在所述api请求与所述自定义路由策略的条件表达式匹配成功的情况下,将所述api请求路由至所述自定义路由策略对应的自定义后端节点。
10、根据本申请的另一方面,提供了一种api网关的路由系统,所述系统包括:
11、api网关和云平台,所述云平台包括至少一个所述api网关,所述api网关包括如上方面所述的api网关的路由装置。
12、根据本申请的另一方面,提供了一种计算机设备,该计算机设备包括:处理器和存储器,存储器中存储有至少一条计算机指令,至少一条计算机指令由处理器加载并执行以实现如上方面所述的api网关的路由方法。
13、根据本申请的另一方面,提供了一种计算机存储介质,计算机可读存储介质中存储有至少一条计算机指令,至少一条计算机指令由处理器加载并执行以实现如上方面所述的api网关的路由方法。
14、根据本申请的另一方面,提供了一种计算机程序产品,上述计算机程序产品包括计算机指令,所述计算机指令存储在计算机可读存储介质中;所述计算机指令由计算机设备的处理器从所述计算机可读存储介质读取并执行,使得所述计算机设备执行如上方面所述的api网关的路由方法。
15、本申请提供的技术方案带来的有益效果至少包括:
16、api网关接收客户端发送的api请求,api网关将api请求与自定义路由策略的条件表达式进行匹配,在api请求与自定义路由策略的条件表达式匹配成功的情况下,将api请求路由至自定义路由策略对应的自定义后端节点。本申请通过用户自定义路由策略的条件表达式,使得api网关可将请求同一目标api的不同api请求路由至不同的后端节点,因此可适用于灰度发布、蓝绿发布、租户路由等多种应用场景,比如在蓝绿发布中,将符合条件表达式的api请求路由至新版本的试用节点,将不符合条件表达式的api请求路由至旧版本的试用节点。
1.一种api网关的路由方法,其特征在于,所述方法包括:
2.根据权利要求1的方法,其特征在于,所述将所述api请求与所述自定义路由策略的条件表达式进行匹配,包括:
3.根据权利要求2所述的方法,其特征在于,所述将所述api请求中的请求参数,与所述自定义路由策略的条件表达式进行匹配,包括如下方式中的至少一种:
4.根据权利要求3所述的方法,其特征在于,所述采用代码片匹配方式将所述api请求中的请求参数,与所述自定义路由策略的条件表达式进行匹配,包括:
5.根据权利要求3所述的方法,其特征在于,所述采用策略树匹配方式将所述api请求中的请求参数,与所述自定义路由策略的条件表达式进行匹配,包括:
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
7.根据权利要求3所述的方法,其特征在于,所述采用倒排索引匹配方式将所述api请求中的请求参数,与所述自定义路由策略的条件表达式进行匹配,包括:
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
9.根据权利要求1至8任一所述的方法,其特征在于,所述方法还包括:
10.根据权利要求3至9任一所述的方法,其特征在于,所述将所述api请求中的请求参数,与所述自定义路由策略的条件表达式进行匹配,包括:
11.根据权利要求3至9任一所述的方法,其特征在于,所述将所述api请求中的请求参数,与所述自定义路由策略的条件表达式进行匹配,包括:
12.根据权利要求1至9任一所述的方法,其特征在于,所述方法还包括:
13.根据权利要求11所述的方法,其特征在于,所述方法还包括:
14.一种api网关的路由装置,其特征在于,所述装置包括:
15.一种api网关的路由系统,其特征在于,所述系统包括:api网关和云平台,所述云平台包括至少一个所述api网关,所述api网关包括如权利要求14所述的所述api网关的路由装置。
16.一种计算机设备,其特征在于,所述计算机设备包括:处理器和存储器,存储器中存储有至少一条计算机指令,至少一条所述计算机指令由处理器加载并执行以实现如权利要求1至13中任一项所述的api网关的路由方法。
17.一种计算机存储介质,其特征在于,所述计算机可读存储介质中存储有至少一条计算机指令,至少一条计算机指令由处理器加载并执行以实现如权利要求1至13中任一项所述的api网关的路由方法。
18.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机指令,所述计算机指令存储在计算机可读存储介质中;所述计算机指令由计算机设备的处理器从所述计算机可读存储介质读取并执行,使得所述计算机设备执行如权利要求1至13中任一项所述的api网关的路由方法。