行情系统
对应子工程
coinex-market 包含 market-api、market-core、market-provider。它提供行情查询和推送处理,与撮合产生业务成交分别核对。
已核对的消息路径
NEW_DEPTH_MSG → EntrustConsumerV1
→ 交易对识别 → 深度初始化或增量处理
→ depthManager 缓存 / Redis 与 tickerManager 买卖盘更新
NEW_TRADE_MSG → CompleteOrderConsumerV2
→ 交易对识别 → klineManager.refreshBatchKline
→ 标记 KLINE、TICKER、HOME_TICKER、TRADE 更新时点
这两类中存在生效的 RocketMQMessageListener 注解。相邻的 CreateOrderConsumer 历史监听注解被注释,不应把所有 Consumer 文件都画成同时运行的链路。
查询与推送
MarketServiceImpl 中可见缓存读取和 K 线查询;MarketHandler 处理 HTTP 与 WebSocket 请求及连接生命周期。具体消息经何种订阅、刷新和发送处理到达客户端,还需沿对应发送器和运行配置核对。
行情输入 → 缓存 / 周期数据更新
→ 查询接口返回
或 → 订阅与发送处理 → 客户端更新
与外部行情区别
本地撮合深度、成交消息与三方数据不是同一种来源。不能仅因有最新报价就断定本地真实成交或账户状态已更新;来源、symbol 映射和消费者要对应。
源码入口
路径相对于 coinex-market:
market-provider/src/main/java/com/exch/market/provider/mq/EntrustConsumerV1.javamarket-provider/src/main/java/com/exch/market/provider/mq/CompleteOrderConsumerV2.javamarket-provider/src/main/java/com/exch/market/provider/service/market/MarketServiceImpl.javamarket-provider/src/main/java/com/exch/market/provider/handler/MarketHandler.java
验证场景
增量深度之前没有快照、重复消息、同交易对乱序、消费延迟、断线重连、K 线窗口边界和过期行情。消息类存在和编译通过不代表生产订阅与数据时效已经验证。