数据选型
REST 与 WebSocket 行情接口有什么区别
对比 REST 轮询与 WebSocket 推送在实时性、请求成本、实现复杂度和适用场景上的差异,并给出一套选择流程。
更新时间:
维护方:AllTick 官方技术团队
适用对象:正在设计行情数据接入架构的后端与数据工程师
核心结论 · 30秒开发速览
REST 是“你问一次、它答一次”,适合定时拉取、历史 K 线和低频查询;WebSocket 是建立一条长连接后由服务端持续推送,适合需要秒级甚至更快更新的实时行情。多数系统会同时使用两者:WebSocket 收实时数据,REST 补历史和做校验。
01
核心差异对比
| 对比项 | REST | WebSocket |
|---|---|---|
| 通信方式 | 请求/响应 | 长连接,服务端推送 |
| 实时性 | 取决于轮询间隔 | 有新数据即推送 |
| 额度消耗 | 每次轮询都计请求 | 主要受订阅数和连接数限制 |
| 实现复杂度 | 低,无状态 | 需要心跳、重连、重新订阅 |
| 典型用途 | 历史 K 线、快照、批量查询 | 实时成交、实时盘口 |
02
选择流程
1你的数据需要多快更新?分钟级以上:REST 即可。秒级及更快:考虑 WebSocket。
2同时关注多少个标的?标的多且更新频繁时,轮询会迅速耗尽请求额度。
3团队能否维护长连接?WebSocket 需要心跳、断线重连和重新订阅逻辑。
4是否需要历史数据?历史 K 线通常仍通过 REST 获取。
03
推荐的组合架构
- 启动时用 REST 拉取最近一段 K 线,作为图表和指标的初始数据。
- 随后建立 WebSocket,订阅关注标的的实时成交或盘口。
- 断线重连成功后,用 REST 补齐断线期间可能缺失的 K 线。
- 定期用 REST 快照校验本地状态,发现偏差时以快照为准。
04
在 AllTick 中的对应关系
AllTick 的股票 REST 接口地址以 quote-stock-b-api 为前缀,提供最新成交(trade-tick)、盘口(depth-tick)和 K 线(kline)查询;股票 WebSocket 地址为 quote-stock-b-ws-api。外汇、贵金属与大宗商品使用不带 stock 的 quote-b-api 与 quote-b-ws-api。具体路径和参数以官方文档为准。
规范来源与验证记录 · 2026-10-13
已根据下方一手资料核对相关端点、字段与交易所规则。
本轮未使用真实 Token 执行 AllTick 请求,也未完成生产端到端测试。复现时请记录套餐、依赖版本、交易时段、ret/trace 与实际结果。
一手规范与规则
上线前建议复现
- 主动断网,重连并重新订阅,再与 REST 快照对比;最新快照无法恢复每一笔漏收成交。
- 汇总共用 Token 的请求和连接;股票与外汇端点前缀不同,传输层 ping/pong 不能替代应用层心跳。