一种API网关在分布式部署环境下支持限制带宽速率的方法技术

技术编号:37115673 阅读:22 留言:0更新日期:2023-04-01 05:11
本发明专利技术提供了一种API网关在分布式部署环境下支持限制带宽速率的方法,包括以下步骤:步骤一:接口调用客户端请求API接口至分布式部署的API网关;步骤二:API网关接收到接口调用客户端的请求消息,通过API网关中的转发引擎转发接口至原接口服务;应用本技术方案可实现分布式多网关动态的限制接口的带宽速率限制,来提升第三方服务的可用性。来提升第三方服务的可用性。来提升第三方服务的可用性。

【技术实现步骤摘要】
一种API网关在分布式部署环境下支持限制带宽速率的方法


[0001]本专利技术涉及API网关服务
,特别是一种API网关在分布式部署环境下支持限制带宽速率的方法。

技术介绍

[0002]目前,公知的API网关服务是将第三方API进行对外开放,第三方业务系统将自身对外提供的API服务注册到网关服务平台中,并且通过网关服务进行对外开放,API网关服务平台在其中行使API的治理、鉴权、流控、熔断、日志记录等功能。目前公知的API网关服务只支持对于API调度进行简单的单实例带宽速率进行限速传输,不支持分布式的限制带宽速率传输操作。

技术实现思路

[0003]有鉴于此,本专利技术的目的在于提供一种API网关在分布式部署环境下支持限制带宽速率的方法,实现分布式多网关动态的限制接口的带宽速率限制,来提升第三方服务的可用性。
[0004]为实现上述目的,本专利技术采用如下技术方案:一种API网关在分布式部署环境下支持限制带宽速率的方法,包括以下步骤:
[0005]步骤一:接口调用客户端请求API接口至分布式部署的API网关;
[0006]步骤二:API网关接收到接口调用客户端的请求消息,通过API网关中的转发引擎转发接口至原接口服务;
[0007]步骤三:原接口服务将请求得到的响应消息返回至转发引擎;
[0008]步骤四:消息分块处理器将转发引擎接收的响应消息的Byte数组的缓冲区写入到字节输入流中,并根据字节的大小进行消息分块,拆出多个小包,传递至带宽限制处理器;/>[0009]步骤五:带宽限制处理器向带宽配额计算存储器申请带宽配额,查询出当前带宽使用量,并根据每块小包的大小以及期望带宽限制,计算返回响应的预计时间,计算单位时间内返回的小包个数;
[0010]步骤六:带宽限制处理器将计算后的返回消息小包个数及返回响应的预计时间,根据带宽使用量与期望带宽限制,分批次逐个返回响应消息分块数据至接口调用客户端;
[0011]步骤七:接口调用客户端同时请求多API网关时,API网关统一地向带宽配额计算存储器去申请带宽配额,查询当前带宽使用量,计算出当前带宽剩余量,实现对多网关动态的限制接口的总流量;
[0012]步骤八:异步地将实际的带宽使用量写入带宽配额计算存储器。
[0013]与现有技术相比,本专利技术具有以下有益效果:在分布式环境部署API网关中,带宽限制处理器统一向带宽配额计算存储器去申请带宽配额,根据每块小包的大小以及期望带宽限制,计算返回响应的预计时间的算法。该方案的带宽并不是很严格的控制速率,并不是依赖于硬件网络设备,而是基于软件的算法和分布式的存储计数器,来达到粗略传输速率
的控制。在分布式环境部署API网关中,通过分布式的限制带宽速率传输,避免了单实例因网络传输饱和的可能性就会造成数据处理拥堵,导致API网关的性能浪费。
附图说明
[0014]图1为本专利技术优选实施例的流程示意图。
具体实施方式
[0015]下面结合附图及实施例对本专利技术做进一步说明。
[0016]应该指出,以下详细说明都是例示性的,旨在对本申请提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本申请所属
的普通技术人员通常理解的相同含义。
[0017]需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本申请的示例性实施方式;如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
[0018]一种API网关在分布式部署环境下支持限制带宽速率的方法,参考图1,包括以下步骤:
[0019]步骤一:接口调用客户端请求API接口至分布式部署的API网关;
[0020]步骤二:API网关接收到接口调用客户端的请求消息,通过API网关中的转发引擎转发接口至原接口服务;
[0021]步骤三:原接口服务将请求得到的响应消息返回至转发引擎;
[0022]步骤四:消息分块处理器将转发引擎接收的响应消息的Byte数组的缓冲区写入到字节输入流中,并根据字节的大小进行消息分块(推荐使用8192字节),拆出多个小包,传递至带宽限制处理器;
[0023]步骤五:带宽限制处理器向带宽配额计算存储器申请带宽配额,查询出当前带宽使用量,并根据每块小包的大小以及期望带宽限制,计算返回响应的预计时间,计算单位时间内返回的小包个数;
[0024]步骤六:带宽限制处理器将计算后的返回消息小包个数及返回响应的预计时间,根据带宽使用量与期望带宽限制,分批次逐个返回响应消息分块数据至接口调用客户端;
[0025]步骤七:接口调用客户端同时请求多API网关时,API网关统一地向带宽配额计算存储器去申请带宽配额,查询当前带宽使用量,计算出当前带宽剩余量,实现对多网关动态的限制接口的总流量;
[0026]步骤八:异步地将实际的带宽使用量写入带宽配额计算存储器。
[0027]本专利技术将大体积的消息数据拆分成多个单元大小的小包,并且按照单位时间内返回的小包个数,以期望带宽限制的速率分批次逐个写出到接口调用客户端。例如1个10k的数据消息,会被拆分成10个1k的小包,以期望带宽限制的速率分批次逐个写出到接口调用客户端。
[0028]本专利技术提供了支持在分布式环境部署中,写出大块数据时,需要对大块数据进行切割发送处理,并带宽限制处理器向带宽配额计算存储器申请带宽配额,查询出当前带宽
使用量,根据每块小包的大小以及期望带宽限制,计算返回响应的预计时间,计算单位时间内返回的小包个数,实现分布式多网关动态的限制接口的带宽速率限制,来提升第三方服务的可用性。
本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种API网关在分布式部署环境下支持限制带宽速率的方法,其特征在于,包括以下步骤:步骤一:接口调用客户端请求API接口至分布式部署的API网关;步骤二:API网关接收到接口调用客户端的请求消息,通过API网关中的转发引擎转发接口至原接口服务;步骤三:原接口服务将请求得到的响应消息返回至转发引擎;步骤四:消息分块处理器将转发引擎接收的响应消息的Byte数组的缓冲区写入到字节输入流中,并根据字节的大小进行消息分块,拆出多个小包,传递至带宽限制处理器;步骤五:带宽限制处理器向带宽配额计算存储器申请带宽配额...

【专利技术属性】
技术研发人员:吴志雄桑博
申请(专利权)人:南威软件股份有限公司
类型:发明
国别省市:

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

1