[发明专利]一种API混合多租户路由方法、系统和API网关有效
申请号: | 201710883549.3 | 申请日: | 2017-09-26 |
公开(公告)号: | CN109561226B | 公开(公告)日: | 2020-06-26 |
发明(设计)人: | 李林锋 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | H04M7/00 | 分类号: | H04M7/00;H04L12/24 |
代理公司: | 北京弘权知识产权代理事务所(普通合伙) 11363 | 代理人: | 逯长明;许伟群 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 api 混合 租户 路由 方法 系统 网关 | ||
本申请实施例提供了一种API混合多租户路由方法、系统及API网关。所述方法包括:在接收到所述API调用方发送的API请求消息后,获取该消息中携带的APPkey;再根据多租户路由策略表,得到与APPkey对应的API运行实例URL列表;最后从API运行实例URL列表中确定一个API运行实例URL返回给API调用方。其中APPkey用于标识API调用方的身份;多租户路由策略表保存APPkey和API运行实例URL列表间的映射关系。所述方法能实现自适配的混合多租户路由,API调用方只需发送携带APPkey的API请求消息,不需租户信息,便可调用到正确的API运行实例。
技术领域
本申请涉及软件技术领域,尤其涉及一种API混合多租户路由方法、系统和API网关。
背景技术
SaaS(software-as-a-service,软件即服务)化之后,API(ApplicationProgramming Interface,应用程序编程接口)网关(Gateway)可以将平台或系统等内部的数据或者程序通过Restful(Representational State Transfer,表述性状态传递)API的方式提供给第三方API租户,从而使API租户能够将不同API服务整合到自己的应用中,衍生出新的服务,有利于促进技术生态发展和跨界创新。
不同的API租户,对API资源和安全等的要求不同,由此衍生出了不同的API SLA(Service-Level Agreement,服务等级协议策略)。API网关为了满足不同API租户的SLA策略,需要使用不同方案对外提供API服务。目前API网关的租户有两种——物理租户和逻辑租户,相应地使用的多租户(多个物理租户或者多个逻辑租户)方案也不同。
物理多租户方案中,租户之间的API是物理隔离的,例如使用Docker容器隔离、VM(Virtual Machine,虚拟机)隔离或者物理机隔离。物理多租户方案的原理如图1所示。每个租户在API网关中对应一个或者多个API运行实例,这些API运行实例组成租户(例如租户A)独占的API集群,例如图1中A租户对应API集群1、B租户对应API集群2,以此类推。不同租户的API集群,对外提供的API运行实例URL中携带租户ID,利用租户ID,来区分不同租户的API运行实例URL,例如A租户的API运行实例URL为:http://xxx.apigatewa/tenantA/order,B租户的API运行实例URL为:http://xxx.apigatewa/tenantB/order,因为采用物理资源独占模式,所以每个租户都拥有自己私有的API运行实例URL,这些URL不会冲突。物理多租户方案中,每个租户的应用程序根据租户ID向API网关请求资源后,API网关返回该租户的API运行实例URL,所述应用程序直接访问返回的API运行实例URL来获取资源,因此不需要进行多租户路由。
逻辑多租户方案中,所有租户共享一个或者多个API运行实例,每个API运行实例内部利用多线程、协程或者消息队列隔离的方式,实现不同租户之间的API隔离。逻辑多租户的原理如图2所示。各个租户共享一个或者多个API运行实例,API集群对外只提供一个运行实例URL,例如提供给所有租户的API运行实例URL均为:http://xxx.apigatewa/order?ID=1。因为所有的租户共享相同的API运行实例,故API运行实例之间是完全对等的。因此,在逻辑多租户方案中,租户的应用程序根据租户ID向API网关请求API资源后,API网关只需要做随机或轮询分发,就能将API运行实例路由至租户的应用程序。
物理多租户方案存在资源占用多和维护成本高等问题,逻辑多租户方案则存在故障隔离性差等问题,为兼顾资源节约和提高故障隔离性,有必要提出混合多租户方案。混合多租户方案可以对重要的租户采用物理多租方案,对普通租户则采用逻辑多租方案。混合多租户场景中,有些API运行实例是被单个物理租户独占的,有些API运行实例是被多个逻辑租户共享的,如何正确地将API运行实例路由至租户的应用程序,是实现混合多租户方案需要解决的主要问题。
发明内容
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710883549.3/2.html,转载请声明来源钻瓜专利网。