标签: Git

kk909 | 1周前 | 后端相关大数据Git

面试经验分享:一道 WebSocket 实战题,聊聊美股行情采集的断线重连坑

最近面试后端和量化相关岗位,被问到一个非常贴合实际项目的问题: 用WebSocket做美股实时行情推送,如果连接断开,如何实现订阅自动恢复? 一开始我以为无非就是写个断线重连就搞定了,仔细梳理之后才发现这里藏着一个很容易踩的坑,也是面试官很喜欢追问的点,今天简单跟大家分享一下我的理解。 很多同学第一反应:断了就重建连接,写个循环捕获异常,休眠几秒再重连。 但这里有个核心陷阱: 重连成功,不等于订阅自动恢复。 WebSocket长连接断开之后,程序进程可能还在正常运行,不会崩溃报错,属于静默故障。就算你把网络通道重新连上,如果不重新发送订阅指令,服务端不会继续推送股票行情。表面看连接状态一切正常,实际上已经收不到tick数据。放到真实业务中,数据出现缺口,回测、策略计算都会出问题。 所以完整的处理逻辑不能只做重连,整套流程如下: 1. 持续监控WebSocket连接的健康状态; 2. 检测到断开异常,触发连接重建; 3. 读取提前保存的订阅参数,例如股票代码、数据类型,重新发起订阅请求; 4. 恢复行情接收,继续执行业务处理。 这里要注意,订阅参数一定要保存。如...

 54 |  0 |  0 后端相关大数据