一种API网关限速方法及装置制造方法及图纸

技术编号:32276073 阅读:20 留言:0更新日期:2022-02-12 19:41
本申请涉及流量控制技术领域,特别涉及一种API网关限流方法及装置。该方法包括:监控后端服务器的物理资源使用率;判断所述后端服务器的物理资源使用率是否达到预设的物理资源使用率阈值;若判定所述后端服务器的物理资源使用率达到所述物理资源使用率阈值,则对不同业务对应的API请求执行不同的限流策略。业务对应的API请求执行不同的限流策略。业务对应的API请求执行不同的限流策略。

【技术实现步骤摘要】
一种API网关限速方法及装置


[0001]本申请涉及流量控制
,特别涉及一种API网关限速方法及装置。

技术介绍

[0002]API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,应用将自身的服务能力封装成API,并通过API网关开放给用户访问。实际应用中,为了保护API网关的后台系统不会受到大流量冲击,需要对接入API网关的API访问请求进行限流。
[0003]API网关,可以部署在后端服务和前端客户端之间,在前后端的访问之间提供安全、鉴权、流量控制、过滤、缓存、计费、监控等API管理功能。
[0004]所谓API管理功能,一般由各种过滤器实现,在请求的传递过程中,过滤器对请求和响应做修改。过滤器有很多种,例如参数校验、权限校验、流量监控、日志输出、协议转换。多种过滤器可以前后串联起来使用,一条访问会陆续经过设置的多个过滤器,被一个过滤器处理完毕后,传递给下一个过滤器处理。
[0005]目前,API网关限流方法一般是根据访问路径、访问者ip或者token区分各个被限流对象,然后对各个限流对象的访问进行计数。如果单位时间限流对象的访问量不多,则用户正常访问;否则将执行限流操作,返回错误代码,要求用户稍后再访问。
[0006]然而,上述API限流方法并未考虑后端服务器的物理资源是否充足的情况,及可能出现后端服务器物理资源充足API网关却执行限流,或后端服务器物理资源不足而API网关不执行限流的问题。

技术实现思路

[0007]本申请提供了一种API网关限流方法及装置,用以解决现有技术中存在的无法根据后端服务器的负载来进行限流策略调整的问题。
[0008]第一方面,本申请提供了一种API网关限流方法,所述方法包括:
[0009]监控后端服务器的物理资源使用率;
[0010]判断所述后端服务器的物理资源使用率是否达到预设的物理资源使用率阈值;
[0011]若判定所述后端服务器的物理资源使用率达到所述物理资源使用率阈值,则对不同业务对应的API请求执行不同的限流策略。
[0012]可选地,监控后端服务器的物理资源使用率的步骤包括:
[0013]监控后端服务器的内存使用率和/或CPU使用率。
[0014]可选地,判断所述后端服务器的物理资源使用率是否达到预设的物理资源使用率阈值的步骤包括:
[0015]判断所述后端服务器的内存使用率是否达到预设的物理资源使用率阈值;或者,
[0016]判断所述后端服务器的CPU使用率是否达到预设的物理资源使用率阈值;或者,
[0017]判断所述后端服务器的内存使用率和CPU使用率是否均达到预设的物理资源使用
率阈值。
[0018]可选地,基于各业务的业务优先级,针对不同优先级的业务设置有不同的物理资源使用率阈值,其中,高优先级业务对应的第一物理资源使用率阈值大于低优先级业务对应的第二第一物理资源使用率阈值;
[0019]若判定所述后端服务器的物理资源使用率达到所述物理资源使用率阈值,则对不同业务对应的API请求执行不同的限流策略的步骤包括:
[0020]若判定所述后端服务器的物理资源使用率达到所述第二物理资源使用率阈值,则对所述第二物理资源使用率阈值对应的业务的API请求执行限流策略;
[0021]若判定所述后端服务器的物理资源使用率达到所述第一物理资源使用率阈值,则对所述第一物理资源使用率阈值核所述第二物理资源使用率阈值对应的各业务的API请求执行限流策略。
[0022]可选地,对一个业务的API请求执行限流策略的步骤包括:
[0023]统计该业务在单位时间内的API访问量;
[0024]判断该业务在单位时间内的API访问量是否超过设定阈值;
[0025]若该业务在单位时间内的API访问量超过所述设定阈值,则拒绝接收该业务的API访问请求。
[0026]第二方面本申请提供了一种API网关限流装置,所述装置包括:
[0027]监控单元,用于监控后端服务器的物理资源使用率;
[0028]判断单元,用于判断所述后端服务器的物理资源使用率是否达到预设的物理资源使用率阈值;
[0029]限流单元,若所述判断单元判定所述后端服务器的物理资源使用率达到所述物理资源使用率阈值,则所述限流单元用于对不同业务对应的API请求执行不同的限流策略。
[0030]可选地,监控后端服务器的物理资源使用率时,所述监控单元具体用于:
[0031]监控后端服务器的内存使用率和/或CPU使用率。
[0032]可选地,判断所述后端服务器的物理资源使用率是否达到预设的物理资源使用率阈值时,所述判断单元具体用于:
[0033]判断所述后端服务器的内存使用率是否达到预设的物理资源使用率阈值;或者,
[0034]判断所述后端服务器的CPU使用率是否达到预设的物理资源使用率阈值;或者,
[0035]判断所述后端服务器的内存使用率和CPU使用率是否均达到预设的物理资源使用率阈值。
[0036]可选地,基于各业务的业务优先级,针对不同优先级的业务设置有不同的物理资源使用率阈值,其中,高优先级业务对应的第一物理资源使用率阈值大于低优先级业务对应的第二第一物理资源使用率阈值;
[0037]若所述判断单元判定所述后端服务器的物理资源使用率达到所述物理资源使用率阈值,则对不同业务对应的API请求执行不同的限流策略时,所述限流单元具体用于:
[0038]若判定所述后端服务器的物理资源使用率达到所述第二物理资源使用率阈值,则对所述第二物理资源使用率阈值对应的业务的API请求执行限流策略;
[0039]若判定所述后端服务器的物理资源使用率达到所述第一物理资源使用率阈值,则对所述第一物理资源使用率阈值核所述第二物理资源使用率阈值对应的各业务的API请求
执行限流策略。
[0040]可选地,对一个业务的API请求执行限流策略时,所述限流单元具体用于:
[0041]统计该业务在单位时间内的API访问量;
[0042]判断该业务在单位时间内的API访问量是否超过设定阈值;
[0043]若该业务在单位时间内的API访问量超过所述设定阈值,则拒绝接收该业务的API访问请求。
[0044]第三方面,本申请提供了一种API网关,该API网关包括:
[0045]存储器,用于存储程序指令;
[0046]处理器,用于调用所述存储器中存储的程序指令,按照获得的程序指令执行如上述第一方面中任一项所述的方法的步骤。
[0047]第四方面,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使所述计算机执行如上述第一方面中任一项所述方法的步骤。
[0048]综上可知,本申请实施例提供的API网关限流方法,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种API网关限流方法,其特征在于,所述方法包括:监控后端服务器的物理资源使用率;判断所述后端服务器的物理资源使用率是否达到预设的物理资源使用率阈值;若判定所述后端服务器的物理资源使用率达到所述物理资源使用率阈值,则对不同业务对应的API请求执行不同的限流策略。2.如权利要求1所述的方法,其特征在于,监控后端服务器的物理资源使用率的步骤包括:监控后端服务器的内存使用率和/或CPU使用率。3.如权利要求2所述的方法,其特征在于,判断所述后端服务器的物理资源使用率是否达到预设的物理资源使用率阈值的步骤包括:判断所述后端服务器的内存使用率是否达到预设的物理资源使用率阈值;或者,判断所述后端服务器的CPU使用率是否达到预设的物理资源使用率阈值;或者,判断所述后端服务器的内存使用率和CPU使用率是否均达到预设的物理资源使用率阈值。4.如权利要求1

3任一项所述的方法,其特征在于,基于各业务的业务优先级,针对不同优先级的业务设置有不同的物理资源使用率阈值,其中,高优先级业务对应的第一物理资源使用率阈值大于低优先级业务对应的第二第一物理资源使用率阈值;若判定所述后端服务器的物理资源使用率达到所述物理资源使用率阈值,则对不同业务对应的API请求执行不同的限流策略的步骤包括:若判定所述后端服务器的物理资源使用率达到所述第二物理资源使用率阈值,则对所述第二物理资源使用率阈值对应的业务的API请求执行限流策略;若判定所述后端服务器的物理资源使用率达到所述第一物理资源使用率阈值,则对所述第一物理资源使用率阈值核所述第二物理资源使用率阈值对应的各业务的API请求执行限流策略。5.如权利要求4所述的方法,其特征在于,对一个业务的API请求执行限流策略的步骤包括:统计该业务在单位时间内的API访问量;判断该业务在单位时间内的API访问量是否超过设定阈值;若该业务在单位时间内的API访问量超过所述设定阈值,则拒绝接收该业务的API访问请求。6.一种API网关限流装置,其特征在于,所述装置包括:监控单元,用于监控后端服务器...

【专利技术属性】
技术研发人员:张天飒赖新明苏迪
申请(专利权)人:航天信息股份有限公司
类型:发明
国别省市:

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

1