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

前提条件

新建网关流控规则

  1. 登录 AHAS 控制台,并在顶部导航栏选择地域。
  2. 在左侧导航栏选择流控降级 > 网关流控
  3. 单击目标网关应用卡片,然后任选一种方式进入网关流控规则的配置页面:
    • 监控详情页面,单击 API 资源卡片右上角的加号图标。
    • 在左侧导航栏中单击流控规则。然后在流控规则页面右上角单击新增流控规则
  4. 新增流控规则对话框中,配置流控规则。新增网关流控规则
    配置项 说明
    API 选择适用该规则的自定义 API,或者手动输入路由配置文件中的 Route ID。
    模式 普通模式 不针对请求属性(如 Client IP,URL 参数等)进行限流,直接针对该 API 的所有请求进行流量控制。
    参数模式 针对该 API 的某个请求属性进行限流。例如,可以针对每个 URL 参数的访问进行限制。
    参数属性 Client IP 请求端的 IP 地址。
    Remote Host 请求端的 Host Header。
    Header 根据指定的 HTTP Header 进行解析,需要填写对应的 Header Key。
    URL 参数 根据指定的 HTTP URL 参数进行解析,需要填写对应的参数名称。
    阈值类型 QPS 选择以 QPS 作为流控指标,并填写 QPS 阈值。

    选择统计间隔,支持四种时间维度:秒、分钟、小时、天。

    例如,QPS 阈值填写 10,统计间隔选择,则代表每分钟对应的请求数目不超过 10 个。

    线程数 选择以线程数作为流控指标,并填写线程数阈值。

    线程数是指资源的并发线程数,即该资源正在执行的线程数。

    说明 参数模式下,暂时不支持线程数作为阈值类型。
    流控方式 快速失败 阈值类型QPS 时,被拦截的流量将快速失败。即达到阈值时,立即拦截请求。
    匀速排队 阈值类型QPS 时,被拦截的请求将匀速通过,允许排队等待。

    需设置具体的超时时间,预计达到超时时间的请求会立即失败,而不会排队。

    例如,QPS 配置为 10,则代表请求每 100 ms 才能通过一个,多出的请求将排队等待通过。超时时间代表最大排队时间,超出最大排队时间的请求将会直接被拒绝。

    说明 匀速排队时,QPS 不要超过 1000(请求间隔 1 ms)。
    Burst Size 若选择了参数模式,可以额外设置一个 Burst Size,即针对突发请求额外允许的请求数目。
    是否开启 打开开关表示立即启用该规则,关闭开关表示禁用该规则。
  5. 单击新增

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

管理流控规则

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

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

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

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

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

  • 编辑规则:

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

  • 删除规则:

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