API 限流不仅支持对单个 API 进行限流设置,还支持对 API 设置限流默认值以及设置应用级别的限流总值,避免高峰期间后台服务器被压垮。 如果同时设置了 API 限流默认值和 App 限流总值,则按照限流值的大小依次处理,限流值较小的优先生效。
本文仅对如何配置 API 限流默认值和 App 限流总值进行说明。如需对单个 API 进行限流设置,请在 API 详情页面的限流配置模块中进行设置,具体参见 配置 API。
前置条件
要使用限流配置,确保已开启限流功能。登录 mPaaS 控制台,从左侧导航栏进入 移动网关 > 网关管理 页面,打开 限流 开关即可。
API 限流默认值
对 API 设置限流默认值,作用于当前应用下的所有 API。限流默认配置生效规则如下:
若之前已针对单个 API 配置过限流值,则该 API 的限流值以之前配置的为准。
单个 API 的限流配置会覆盖 API 默认限流配置。
修改后的限流默认配置对之前已使用限流默认配置的 API 生效。
配置步骤:
打开 API 限流默认配置 开关。
在默认限流值配置框中,单击 编辑,配置限流信息。
默认限流值:根据业务需求设置合理的限流阈值。超过此值时,请求会被限流。
说明限流阈值指一秒内的请求上限。
限流响应:限流默认的响应为:
{"resultStatus":1002,"tips":"顾客太多,客官请稍候"}
如需定制限流响应,请使用如下格式:{ "result": "==此处为定制响应内容,请填写==", "tips": "ok", "resultStatus": 1000, }
其中:
result
为定制的响应数据,JSON
格式。只有resultStatus
为 1000 时,客户端才会取此字段处理。tips
为定制的限流提示。若resultStatus
为 1002,会取此字段提示用户。resultStatus
为限流返回的结果码,具体含义请参见 网关结果码说明。
App 限流总值
对当前应用下所有的 API 设置限流的总和值。一旦超出应用的限流总值,则当前应用下所有 API 的请求都将被限流。
配置步骤:
打开 App 限流总值 开关。
在 App 限流总值配置框中,单击 编辑,配置限流信息。
限流总和值:根据业务需求设置合理的限流阈值(单位:秒)。超过此值时,请求会被限流。
限流响应:限流默认的响应为:
{"resultStatus":1002,"tips":"顾客太多,客官请稍候"}
如需定制限流响应,使用如下格式:{ "result": "==此处为定制响应内容,请填写==", "tips": "ok", "resultStatus": 1000, }
其中:
result
为定制的响应数据,JSON
格式。只有resultStatus
为 1000 时,客户端才会取此字段处理。resultStatus
为限流返回的结果码,具体含义请参见 网关结果码说明。tips
为定制的限流提示。若resultStatus
为 1002,会取此字段提示用户。