为网关应用配置网关流控规则后,AHAS将从流量入口处拦截激增的流量,防止下游服务被压垮。本文将介绍如何为已接入AHAS的网关应用配置网关流控规则。
新建网关流控规则
- 登录AHAS控制台,然后在页面左上角选择地域。
- 在控制台左侧导航栏中选择 。
- 在网关防护页面单击目标应用卡片。
- 单击目标网关应用卡片,然后任选一种方式进入API流控规则的配置页面:
- 在接口详情页面,单击API资源卡片右上角的加号图标。
- 在左侧导航栏中单击API流控规则,然后在页面右上角单击新增流控规则。
- 在新增流控规则对话框中,配置流控规则。
参数 描述 API 选择适用该规则的自定义API,或者手动输入路由配置文件中的Route ID。 针对请求属性 - 关闭针对请求属性开关:不针对请求属性(如Client IP,URL参数等)进行限流,直接针对该API的所有请求进行流量控制。
- 开启针对请求属性开关:针对该API的某个请求属性进行限流,可以选择参数属性。
可以根据以下属性进行流量控制:
- Client IP:请求端的IP地址。
- Remote Host:请求端的Host Header。
- Header:根据指定的HTTP Header进行解析,匹配对应的Header Key。选择Header后,可以配置请求属性值的匹配策略,只有匹配该模式的请求属性值会纳入统计和流控。
- URL参数:根据指定的HTTP URL参数进行解析,需要填写对应的参数名称。选择URL参数后,可以配置请求属性值的匹配策略,只有匹配该模式的请求属性值会纳入统计和流控。
- 匹配模式
- 精确:严格按照给定的匹配串来匹配值。
- 子串:若请求属性值包含该子串则匹配成功,如子串匹配
ab
,则aba
和cabc
都可以匹配,而cba
则不能匹配。 - 正则:按照给定的正则表达式匹配串来进行匹配。
阈值类型 - QPS:应用或服务流量的QPS指标。选择QPS后,还需设置QPS阈值和统计间隔(支持秒、分钟、小时、天4种维度)。
例如,QPS阈值填写10,统计间隔选择分,则代表每分钟对应的请求数目不超过10个。
- 线程数:资源的并发线程数,即该资源正在执行的线程数。说明 开启针对请求属性开关后,暂时不支持线程数作为阈值类型。
流控方式 - 快速失败:当阈值类型为QPS时,被拦截的流量将快速失败。即达到阈值时,立即拦截请求。
- 匀速排队:当阈值类型为QPS时,被拦截的请求将匀速通过,允许排队等待。
需设置具体的超时时间,预计达到超时时间的请求会立即失败,而不会排队。
例如,QPS配置为10,则代表请求每100 ms才能通过一个,多出的请求将排队等待通过。超时时间代表最大排队时间,超出最大排队时间的请求将会直接被拒绝。
说明 匀速排队时,QPS不要超过1000(请求间隔1 ms)。
Burst size 当流控方式为快速失败时,可以额外设置一个Burst Size,即针对突发请求额外允许的请求数目。 超时时间 当流控方式为匀速排队时,需设置具体的超时时间,达到超时时间后请求会失败。例如,QPS配置为5,则代表请求每200 ms才能通过一个,多出的请求将排队等待通过。超时时间代表最大排队时间,超出最大排队时间的请求将会直接被拒绝。 - 单击新增。
新增的规则将出现在API流控规则页面。
管理流控规则
在流控规则页面,您可以启用、禁用、编辑或删除流控规则。
- 单流控规则启用或禁用:
在流控规则页面,找到目标资源下对应的流控规则,单击状态栏的启用开关,可快速启用或禁用该规则。
- 多流控规则批量启用或禁用:
在流控规则页面,勾选多个流控规则,单击批量启用或批量禁用,可快速启用或禁用多个规则。
- 编辑规则:
在流控规则页面,找到目标资源下对应的流控规则,单击操作栏的编辑,可修改该规则的相关信息。
- 删除规则:
在流控规则页面,找到目标资源下对应的流控规则,单击操作栏的删除。
文档内容是否对您有帮助?