流控限制
REST Admin API 对每个应用下每个店铺的请求进行了速率限制,每秒最多允许 4 个请求。
| 接口类型 | 限速算法 | 限速规则 |
|---|---|---|
| REST Admin API | 漏桶算法 | 每个应用下的每个店铺为 4 QPS,桶大小:40。 |
限流算法与规则
REST Admin API 受到流量控制,你需要在应用中按店铺合理控制 API 的并发请求频率。速率限制基于应用和店铺的组合维度进行独立计算:
- 应用维度隔离:单个应用的调用请求不会影响其他应用的速率限制,即使它们访问的是同一个店铺。
- 店铺维度隔离:对单个店铺发起的调用请求不会影响其他店铺的速率限制,即使这些请求来自同一个应用。
REST Admin API 采用漏桶算法进行流控,具体规则如下:
- 恒定速率:漏桶以每秒 4 个请求(4 QPS)的固定速率处理请求。
- 突发处理:桶的最大容量为 40。当桶内仍有可用容量时 ,新请求会进入桶中排队,并按 4 QPS 的速率依次执行。
- 请求拒绝:当漏桶已满(排队的请求数达到 40),且新请求的到达速率仍超过泄漏速率时,后续请求将被直接拒绝。
注意
为避免受到限制,建议你将应用内的平均请求速率控制在每秒 4 个请求以内。
触发限流的错误响应
当漏桶容量已满且请求速率超过流控限制时,后续的所有请求都会被拒绝,并返回以下错误响应:
- HTTP 状态码:
429 Too Many Requests - 错误响应示例:
HTTP/1.1 429 Too Many Requests
{"errors":"Too many request"}
当足够的请求从漏桶中完成泄漏并释放出容量后,后续的请求才会再次成功执行。关于更详细的错误码定义与对应的进一步操作建议,参考 HTTP 状态码。
这篇文章对你有帮助吗?