Coinbase API数据缓存优化策略
3 个回答
Coinbase API响应慢的原因有两个,一是自身限流,二是服务器响应速度太慢。对于做币站而言,慢是最大的敌人,会影响用户体验。
首先就是加缓存,使用redis之类的缓存工具,将频繁调用的数据缓存30s~1min,以此来减少API接口请求量。例如行情,因为变化不大,可以考虑使用缓存。
其次就是异步拉取的方式,前端展示数据使用的是缓存数据,而后台则通过定时任务更新最新的数据。这样的话,用户打开页面就会很快。还有就是多开几个节点进行分摊请求,不要所有的请求都集中在同一个接口上。
最后,如果有条件的话,可以自己写一个中间代理层,在这层里处理一些API请求以及缓存相关的事物,这样做的话,后期扩展起来也简单。另外,还要时刻关注Coinbase API的状态页,一有问题立马知晓。
你可以使用 Coinbase API 加载慢的解决方案是本地缓存,比如 Redis, 速度快而且可以设置过期时间
可以做到这样:热点币种的价格信息缓存几分钟,非核心数据可以再长一点,千万不能固定缓存时间,高频行情的要实时拉取。
另外还支持多线程异步请求不要串行等待;或者可以考虑WebSocket实时性好且减少请求次数。
不要局限于公共 API ,可以申请 Coinbase Pro 的高级 API 权限。
Coinbase API 卡顿很常见,通过本地缓存缓解卡顿(例如通过 redis 缓存 60 秒),异步加载,不要阻塞用户操作,不要反复进行大量 api 请求,可以限制请求频率,减轻后端压力。