API 限流

API 限流不仅支持对单个 API 进行限流设置,还支持对 API 设置限流默认值以及设置应用级别的限流总值,避免高峰期间后台服务器被压垮。 如果同时设置了 API 限流默认值和 App 限流总值,则按照限流值的大小依次处理,限流值较小的优先生效。

本文仅对如何配置 API 限流默认值和 App 限流总值进行说明。如需对单个 API 进行限流设置,请在 API 详情页面的限流配置模块中进行设置,具体参见 配置 API

前置条件

要使用限流配置,确保已开启限流功能。登录 mPaaS 控制台,从左侧导航栏进入 移动网关 > 网关管理 页面,打开 限流 开关即可。

API 限流默认值

对 API 设置限流默认值,作用于当前应用下的所有 API。限流默认配置生效规则如下:

  • 若之前已针对单个 API 配置过限流值,则该 API 的限流值以之前配置的为准。

  • 单个 API 的限流配置会覆盖 API 默认限流配置。

  • 修改后的限流默认配置对之前已使用限流默认配置的 API 生效。

配置步骤:

  1. 打开 API 限流默认配置 开关。

  2. 在默认限流值配置框中,单击 编辑,配置限流信息。

    • 默认限流值:根据业务需求设置合理的限流阈值。超过此值时,请求会被限流。

      说明

      限流阈值指一秒内的请求上限。

    • 限流响应:限流默认的响应为:{"resultStatus":1002,"tips":"顾客太多,客官请稍候"} 如需定制限流响应,请使用如下格式:

        {
            "result": "==此处为定制响应内容,请填写==",
            "tips": "ok",
            "resultStatus": 1000,
        }

      其中:

      • result 为定制的响应数据,JSON 格式。只有 resultStatus 为 1000 时,客户端才会取此字段处理。

      • tips 为定制的限流提示。若 resultStatus 为 1002,会取此字段提示用户。

      • resultStatus 为限流返回的结果码,具体含义请参见 网关结果码说明

App 限流总值

对当前应用下所有的 API 设置限流的总和值。一旦超出应用的限流总值,则当前应用下所有 API 的请求都将被限流。

配置步骤:

  1. 打开 App 限流总值 开关。

  2. 在 App 限流总值配置框中,单击 编辑,配置限流信息。

    • 限流总和值:根据业务需求设置合理的限流阈值(单位:秒)。超过此值时,请求会被限流。

    • 限流响应:限流默认的响应为:{"resultStatus":1002,"tips":"顾客太多,客官请稍候"} 如需定制限流响应,使用如下格式:

        {
            "result": "==此处为定制响应内容,请填写==",
            "tips": "ok",
            "resultStatus": 1000,
        }

      其中:

      • result 为定制的响应数据,JSON 格式。只有 resultStatus 为 1000 时,客户端才会取此字段处理。

      • resultStatus 为限流返回的结果码,具体含义请参见 网关结果码说明

      • tips 为定制的限流提示。若 resultStatus 为 1002,会取此字段提示用户。