文档

API流控规则

更新时间:

为网关应用配置网关流控规则后,MSE将从流量入口处拦截激增的流量,防止下游服务被压垮。本文将介绍如何为已接入MSE的网关应用配置网关流控规则。

新建网关流控规则

  1. 登录MSE治理中心控制台

  2. 在顶部菜单栏选择地域。

  3. 在左侧导航栏,选择治理中心 > 流量防护 > Java网关防护

  4. 网关防护页面单击目标应用卡片。
  5. 单击目标网关应用卡片,然后任选一种方式进入API流控规则的配置页面:

    • 接口详情页面,单击API资源卡片右上角的加号图标。

    • 在左侧导航栏中单击API流控规则,然后在页面右上角单击新增流控规则

  6. 新增流控规则对话框中,配置流控规则。

    参数

    描述

    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,则abacabc都可以匹配,而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才能通过一个,多出的请求将排队等待通过。超时时间代表最大排队时间,超出最大排队时间的请求将会直接被拒绝。

  7. 单击新增

    新增的规则将出现在API流控规则页面。

管理流控规则

流控规则页面,您可以启用、禁用、编辑或删除流控规则。

  • 单流控规则启用或禁用:

    流控规则页面,找到目标资源下对应的流控规则,单击状态栏的启用开关,可快速启用或禁用该规则。

  • 多流控规则批量启用或禁用:

    流控规则页面,勾选多个流控规则,单击批量启用批量禁用,可快速启用或禁用多个规则。

  • 编辑规则:

    流控规则页面,找到目标资源下对应的流控规则,单击操作栏的编辑,可修改该规则的相关信息。

  • 删除规则:

    流控规则页面,找到目标资源下对应的流控规则,单击操作栏的删除

  • 本页导读 (1)