使用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等条件进行调整。