全部产品
云市场
云游戏

API 接口被限流了怎么办?

更新时间:2019-06-25 14:07:07

现象描述

您在使用 EDAS 各种语言的 SDK 进行 API 调用时,有时可能会遇到 API 接口调用被限流的报错,如下所示:

2018-11-29 10:48:59,909, ERROR com.aliyuncs.exceptions.ClientException: Throttling. User: Request was denied due to user flow control.

可能的原因

这是由于触发了部署在阿里云 POP API 网关的 EDAS API 接口流控阈值所致,设置流控阈值是 EDAS 后端 API 服务的一种保护措施。

解决办法

遇到该异常日志信息时,要了解对应 API 接口的限流规则(不同接口使用频率不同,其限流规则也不同),及时调整调用频率。

常用 API 接口限流规则

序号 接口 请求 URL 流控阈值 特殊流控
1 DeployApplication /pop/v5/changeorder/co_deploy_app 40 次/分钟
2 GetChangeOrderInfo /pop/v5/changeorder/change_order_info 100 次/分钟
3 ListApplication /pop/v5/app/app_list 60 次/分钟
4 ListDeployGroup /pop/v5/app/deploy_group_list 200 次/分钟
5 QueryApplicationStatus /pop/v5/app/app_status 100 次/分钟
6 ScaleOutApplication /pop/v5/changeorder/co_scale_out 40 次/分钟
7 ListScaleOutEcu /pop/v5/resource/scale_out_ecu_list 20 次/分钟
8 InsertApplication /pop/v5/changeorder/co_create_app 40 次/分钟
9 QueryMonitorInfo /pop/v5/monitor/queryMonitorInfo 60 次/分钟
10 GetApplication /pop/v5/app/app_info 40 次/分钟

说明

  • 表格第四列的 “流控规则” 的单位 “ m 次/分钟” ,表示每分钟最多 m 次。
  • 表格第五列的 “特殊流控” ( SpecialFlowControl ) 表示该接口的流控阈值可按用户 UID 等条件进行调整。