API网关流量控制策略步骤

方案概述

操作流程

实施步骤

方案概述

应用场景

当在公网中调用APIG上公开的业务API时,如果不限制API调用的次数,随着用户的不断增加,会引起后端性能的下降,甚至会因为恶意用户发送的大量请求导致网站或程序崩溃。APIG提供了传统策略——流量控制,从API、用户、凭据、源IP等多个维度进行流控。

然而,随着用户多样性以及需求多样性的增加,传统流控策略无法满足更加精细的流量控制场景。比如针对某一请求参数的流控或者某一租户的流控,APIG在传统流量控制策略的基础上提供了插件策略——流量控制2.0,通过制定更加精细的方案来进行流控。

以下将以流量控制2.0为例,进行实践说明,讲述如何通过创建流量控制2.0策略来应对不同场景的网关限流。

方案优势

流量控制2.0策略可以限制单位时间内API的被调用次数,支持基础流控、参数流控和基于基础流控的特殊流控。

基础流控:可以对API、用户、凭据、源IP进行多维度流控,与已有的流量控制策略说明功能一致,但配置方式不兼容。

参数流控:支持根据Header、Path、Method、Query以及系统变量中的参数值进行自定义流控。

基于基础流控的特殊流控:对某个租户或凭证进行特定的流控。

支持从用户、凭据和时间段等不同的维度限制对API的调用次数。

支持按天以及按时分秒粒度的流量控制。

约束与限制

API添加流量控制2.0策略相当于流量控制2.0策略同步绑定了API。同一个环境中,一个API只能被一个流量控制2.0策略绑定,但一个流量控制2.0策略可以绑定多个API。(使用前提是绑定的API已发布。)

如果API未绑定流量控制2.0策略,流控限制值为实例“配置参数”中“ratelimit_api_limits”的参数运行值。

如果一个API绑定传统流量控制策略后,继续绑定流量控制2.0策略,传统流量控制策略会失效。

参数流控的规则最多可定义100个。

策略内容最大长度65535。

如果您的实例不支持流量控制2.0,请联系技术支持。

操作流程

假设您对一个API有如下的流控诉求:

1、默认API流量限制为10次/60秒,用户流量限制为5次/60秒。

2、对请求头Header字段为“Host=www.abc.com”的限制为10次/60秒。

3、对请求方法为get且请求路径为“reqPath= /list”的限制为10次/60秒。

4、对请求路径为“reqPath= /fc”的限制为10次/60秒。

5、对特殊租户Special Renter的流量限制为5次/60秒。

您可以根据以下操作流程为API创建并绑定流量控制2.0策略。

创建策略

填写流量控制2.0策略基本信息。

配置基础流控

配置基础流量控制。

配置参数流控

开启参数流控配置开关,定义参数和规则配置参数流量控制。

配置特殊流控

开启特殊流控配置开关,特殊凭据与特殊租户流量控制的使用场景。

绑定API

流量控制2.0策略绑定到API。

验证

通过相应的请求URL调用API,验证流量控制2.0策略是否生效。


API网关常见问题

API网关常见问题

API网关相关视频

API网关

05:43

API网关

API网关

02:11

API网关

1对1咨询专属顾问

1对1免费咨询华为云专属顾问,为您量身定制产品推荐方案
立即咨询

华为云咨询电话:950808或4000-955-988 转1

华为云咨询电话:950808或4000-955-988 转1

华为云专业的服务团队,致力于为您提供专业的售前购买咨询服务,及完善的售后技术服务,助您云上无忧