行情系统

对应子工程

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.java
  • market-provider/src/main/java/com/exch/market/provider/mq/CompleteOrderConsumerV2.java
  • market-provider/src/main/java/com/exch/market/provider/service/market/MarketServiceImpl.java
  • market-provider/src/main/java/com/exch/market/provider/handler/MarketHandler.java

验证场景

增量深度之前没有快照、重复消息、同交易对乱序、消费延迟、断线重连、K 线窗口边界和过期行情。消息类存在和编译通过不代表生产订阅与数据时效已经验证。