Coinbase API并发请求处理
4 个回答
Coinbase API并发请求失败,原因:接口存在频率限制,并发请求过多导致出现熔断机制报错。
解决办法:1)对并发请求数量进行控制。通过线程池或者异步框架控制并发请求数量,保证每条请求之间有一定的时间间隔。
2)检查接口状态码。如果出现429错误,说明并发量过大,需要适当降低并发量。
3)合理利用缓存。如行情数据,不需要实时获取,可以每隔一段时间更新一次。
4)查看API文档中提供的速率限制参数,在合理范围内进行并发操作,不要盲目提高并发量。
Coinbase的API出现错误大部分都是因为被限流了,官方默认是几十秒一次,发的太频繁就会熔断。
解决办法很简单:增加sleep间隔。举个例子,5个线程,每次请求间隔1s,就跑过了限流。
采用队列管理,将请求放在队列中按一定频率的获取请求并发送,保证效率并且不被限制IP。
另外建议使用重试机制,当发生429时重试,但是不要无限期重试,限制一下次数即可。
Coinbase API在并发的情况下是很坑的,主要存在限流和连接冲突的状况。解决的方法也很简单: 1. 在请求的时候,维护一个请求队列,限制请求的并发数量;2. 遇到429的时候重试;3. 超过一定时间没有返回则放弃本次请求(超时)。
Coinbase API并发请求报错,大部分原因是并发数超频造成的,可以将请求改为异步或者加入队列限制并发数,不要一口气都发送过去,合理设置重试策略,在限流中等待一段时间再进行尝试,如果数据量真的很大可以联系官方申请加大频率或是使用多个 Key 轮询。