云服务器内容精选

  • 应用场景 当在公网中调用APIG上公开的业务API时,如果不限制API调用的次数,随着用户的不断增加,会引起后端性能的下降,甚至会因为恶意用户发送的大量请求导致网站或程序崩溃。APIG提供了传统策略:流量控制,从API、用户、凭据、源IP等多个维度进行流控。 然而,随着用户多样性以及需求多样性的增加,传统流控策略无法满足更加精细的流量控制场景。比如针对某一请求参数的流控或者某一租户的流控,APIG在传统流量控制策略的基础上提供了插件策略:流量控制2.0,通过制定更加精细的方案来进行流控。 以下将以流量控制2.0为例,进行实践说明,讲述如何通过创建流量控制2.0策略来应对不同场景的网关限流。
  • 约束与限制 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,请联系技术支持。
  • 方案优势 流量控制2.0策略可以限制单位时间内API的被调用次数,支持基础流控、参数流控和基于基础流控的特殊流控。 基础流控:可以对API、用户、凭据、源IP进行多维度流控,与已有的流量控制策略说明功能一致,但配置方式不兼容。 参数流控:支持根据Header、Path、Method、Query以及系统变量中的参数值进行自定义流控。 基于基础流控的特殊流控:对某个租户或凭证进行特定的流控。 支持从用户、凭据和时间段等不同的维度限制对API的调用次数。 支持按天以及按时分秒粒度的流量控制。
  • 操作流程 假设您对一个API有如下的流控诉求: 默认API流量限制为10次/60秒,用户流量限制为5次/60秒。 对请求头Header字段为“Host=www.abc.com”的限制为10次/60秒。 对请求方法为get且请求路径为“reqPath= /list”的限制为10次/60秒。 对请求路径为“reqPath= /fc”的限制为10次/60秒。 对特殊租户Special Renter的流量限制为5次/60秒。 您可以根据以下操作流程为API创建并绑定流量控制2.0策略。 创建策略 填写流量控制2.0策略基本信息。 配置基础流控 配置基础流量控制。 配置参数流控 开启参数流控配置开关,定义参数和规则配置参数流量控制。 配置特殊流控 开启特殊流控配置开关,特殊凭据与特殊租户流量控制的使用场景。 绑定API 流量控制2.0策略绑定到API。 验证 通过相应的请求URL调用API,验证流量控制2.0策略是否生效。 父主题: API网关专享版流量控制2.0策略