使用EDAS SDK调用API时遇到关于限流的报错,可能是由于触发了部署在阿里云POP API网关的EDAS API接口流控阈值,您需要根据限流规则及时调整调用频率。

现象描述

您在使用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 次/分钟
说明 表格中的特殊流控( SpecialFlowControl )表示该接口的流控阈值可按用户UID等条件进行调整。