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网关
API网关
API网关精选推荐
1对1咨询专属顾问
华为云咨询电话:950808或4000-955-988 转1
华为云咨询电话:950808或4000-955-988 转1