一种基于API网关设备的流量控制方法和系统技术方案

技术编号:25446323 阅读:24 留言:0更新日期:2020-08-28 22:32
本发明专利技术公开了一种基于API网关设备的流量控制方法和系统,属于网络通信技术领域。所述方法包括:所述API网关设备接收指向目标业务组件的业务请求,获取所述中心计数组记录的所述目标业务组件的请求并发总数;所述API网关设备判断所述请求并发总数,是否大于所述目标业务组件的请求并发上限;如果大于,所述API网关设备则拒绝所述业务请求,否则将所述业务请求发送至目标业务组件对应的API接口。采用本发明专利技术,可以大幅减轻业务组件负载压力,减少设备资源的浪费,同时便于业务组件的设计研发以及升级维护。

【技术实现步骤摘要】
一种基于API网关设备的流量控制方法和系统
本专利技术涉及网络通信
,特别涉及一种基于API网关设备的流量控制方法和系统。
技术介绍
随着网络通信技术的不断进步,网络业务得到了快速大幅的发展,相应的,业务请求的并发量急剧增加。为了应对大量并发的业务请求,当并发的请求数量超过业务组件的负载上限时,业务服务方普遍会对业务请求进行限流,以保护后端业务组件的正常运行,避免后端被过高的负载冲垮。具体过程中,业务服务方可以在各个业务组件上设置请求并发上限。业务组件在对外提供业务服务时,可以记录当前业务组件的请求并发总数。当接收到新的业务请求时,业务组件可以查看上述请求并发总数,判断是否已达到预设的请求并发上限。若达到,业务组件则可以等待已接入的请求处理完毕后,再开始处理该业务请求;若未达到,业务组件则可以直接处理该业务请求。在实现本专利技术的过程中,专利技术人发现现有技术至少存在以下问题:由每个业务组件独立对业务请求进行流量控制,一方面会造成业务组件的功能代码量大幅增加,不便于前期的设计研发以及后期的升级维护;另一方面,每个业务组件均需要消耗一定的设备资源进行流量控制,不仅会造成设备资源的大量浪费,也会对设备性能产生影响。
技术实现思路
为了解决现有技术的问题,本专利技术实施例提供了一种基于API网关设备的流量控制方法和系统。所述技术方案如下:第一方面,提供了一种基于API网关设备的流量控制方法,所述方法应用于API网关集群,所述API网关集群包含中心计数组和分布式部署的多个API网关设备,每个API网关设备对应至少一个业务组件,所述方法包括:所述API网关设备接收指向目标业务组件的业务请求,获取所述中心计数组记录的所述目标业务组件的请求并发总数;所述API网关设备判断所述请求并发总数,是否大于所述目标业务组件的请求并发上限;如果大于,所述API网关设备则拒绝所述业务请求,否则将所述业务请求发送至目标业务组件对应的API接口。第二方面,提供了一种基于API网关设备的流量控制系统,所述系统包含中心计数组和分布式部署的多个API网关设备,每个API网关设备对应至少一个业务组件,所述API网关设备,用于:接收指向目标业务组件的业务请求,获取所述中心计数组记录的所述目标业务组件的请求并发总数;判断所述请求并发总数,是否大于所述目标业务组件的请求并发上限;如果大于,则拒绝所述业务请求,否则将所述业务请求发送至目标业务组件对应的API接口。本专利技术实施例提供的技术方案带来的有益效果是:本专利技术实施例中,API网关设备接收指向目标业务组件的业务请求,获取中心计数组记录的目标业务组件的请求并发总数;API网关设备判断请求并发总数,是否大于目标业务组件的请求并发上限;如果大于,API网关设备则拒绝业务请求,否则将业务请求发送至目标业务组件对应的API接口。这样,通过API网关集群来对业务组件进行流量控制,并利用中心计数组来统一记录业务组件的请求并发总数,后端业务组件可以只关注自身业务实现,将业务组件的可用性、流量控制等非业务问题交由API网关设备保证,从而可以大幅减轻业务组件负载压力,减少设备资源的浪费,同时便于业务组件的设计研发以及升级维护。附图说明为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术实施例提供的一种API网关集群的网络框架示意图;图2是本专利技术实施例提供的一种基于API网关设备的流量控制方法流程图。具体实施方式为使本专利技术的目的、技术方案和优点更加清楚,下面将结合附图对本专利技术实施方式作进一步地详细描述。本专利技术实施例提供了一种基于API网关设备的流量控制方法,该方法可以应用于API网关集群,如图1所示,API网关集群包含中心计数组和分布式部署的多个API网关设备。API网关设备可以是业务组件的请求入口,每个API网关设备可以对应至少一个业务组件,主要用于接收指向其对应的业务组件的业务请求,将业务请求转发至后端的业务组件,从而业务组件可以基于执行逻辑对业务请求处理并响应。同时,API网关设备还可以具备统协议适配、流量管理、以及安全防护等功能。其中,中心计数组可以同时服务多个API网关设备,具体可以用于记录多个API网关设备接收到的业务请求的数量。中心计数组可以是由分布式部署的多台计数设备构成的设备集群,每台计数设备可以与一个API网关设备部署于同一个机房,用于记录同机房内的API网关设备所接收到的业务请求的相关信息。进一步的,分布式部署的多台计数设备之间可以实现数据共享,从而可以实现业务组件维度的业务请求的统计。下面将结合具体实施方式,对图2所示的处理流程进行详细的说明,内容可以如下:步骤201,API网关设备接收指向目标业务组件的业务请求,获取中心计数组记录的目标业务组件的请求并发总数。其中,目标业务组件可以是API网关的任意一个后台业务组件。在实施中,业务提供方在开通了API网关设备服务后,业务组件的访问地址可以更改为API网关设备的访问地址。细节而言,在分布式部署API网关设备的场景下,不同区域内可以部署有不同的API网关设备,相应的,任意区域内业务组件的访问地址可以是部署在该区域内API网关设备的访问地址。这样,当用户发起了指向目标业务组件的业务请求时,业务请求经网络传输将到达用户所在区域内的API网关设备处。API网关设备在接收到业务请求后,可以确定该业务请求所指向的目标业务组件,然后向中心计数组发送携带有目标业务组件标识的请求数查询消息。进而,中心计数组在接收到该请求数查询消息后,可以调取已记录的目标业务组件的请求并发总数,并将该请求并发总数反馈至API网关设备。可选的,API网关设备可以在获取请求并发总数之前,先上报业务请求的请求标识,相应的处理可以如下:API网关设备生成业务请求的请求标识,并向中心计数组上报请求标识,以使中心计数组更新目标业务组件的请求并发状态。在实施中,API网关设备在接收到指向目标业务组件的业务请求后,可以先生成该业务请求的请求标识,请求标识可以唯一标识业务请求,一个请求标识对应一个业务请求。之后,API网关设备可以将该请求标识上报至中心计数组。中心计数组接收到该请求标识后,可以确定请求标识对应的目标业务组件,然后更新目标业务组件的请求并发状态。可以理解,API网关设备在获取请求并发总数之前,先上传当前业务请求的请求标识,可以避免大量API网关设备同时接收到目标业务请求的业务请求,而无法及时发现请求并发总数突增的情况。对比来讲,若在上传请求标识之前就获取请求并发总数,业务突增前,请求并发总数较小,则多个API网关设备都判定业务组件负载较低,则都将业务请求发送至业务组件,从而会导致业务组件负载瞬间增高,进入过载状本文档来自技高网...

【技术保护点】
1.一种基于API网关设备的流量控制方法,其特征在于,所述方法应用于API网关集群,所述API网关集群包含中心计数组和分布式部署的多个API网关设备,每个API网关设备对应至少一个业务组件,所述方法包括:/n所述API网关设备接收指向目标业务组件的业务请求,获取所述中心计数组记录的所述目标业务组件的请求并发总数;/n所述API网关设备判断所述请求并发总数,是否大于所述目标业务组件的请求并发上限;/n如果大于,所述API网关设备则拒绝所述业务请求,否则将所述业务请求发送至目标业务组件对应的API接口。/n

【技术特征摘要】
1.一种基于API网关设备的流量控制方法,其特征在于,所述方法应用于API网关集群,所述API网关集群包含中心计数组和分布式部署的多个API网关设备,每个API网关设备对应至少一个业务组件,所述方法包括:
所述API网关设备接收指向目标业务组件的业务请求,获取所述中心计数组记录的所述目标业务组件的请求并发总数;
所述API网关设备判断所述请求并发总数,是否大于所述目标业务组件的请求并发上限;
如果大于,所述API网关设备则拒绝所述业务请求,否则将所述业务请求发送至目标业务组件对应的API接口。


2.根据权利要求1所述的方法,其特征在于,所述API网关设备获取所述中心计数组记录的所述目标业务组件的请求并发总数之前,还包括:
所述API网关设备生成所述业务请求的请求标识,并向所述中心计数组上报所述请求标识,以使所述中心计数组更新所述目标业务组件的请求并发状态。


3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
在拒绝所述业务请求或所述业务请求处理结束后,所述API网关设备向所述中心计数组发送所述请求标识的清除通知,以使所述中心计数组更新所述目标业务组件的请求并发状态。


4.根据权利要求2或3所述的方法,其特征在于,所述中心计数组采用key-value的形式记录各个业务组件的请求并发状态,其中,key值包含业务组件标识及对应的请求并发总数,value值为请求标识构成的标识集合。


5.根据权利要求2所述的方法,其特征在于,所述API网关设备获取所述中心计数组记录的所述目标业务组件的请求并发总数,包括:
所述API网关设备确定所述业务请求的请求时间所属的目标时间窗,获取所述中心计数组记录的、所述目标时间窗内所述目标业务组件的请求并发总数;
所述API网关设备判断所述请求并发总数,是否大于所述目标业务组件的请求并发上限,包括:
所述API网关设备判断所述请求并发总数,是否大于所述目标时间窗内所述目标业务组件的请求并发上限。


6.根据权利要求5所述的方法,其特征在于,所述中心计数组采用key-value的形式记录各个业务组件的请求并发状态,其中,key值包含业务组...

【专利技术属性】
技术研发人员:江武刘惠敏
申请(专利权)人:网宿科技股份有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1