1、项目介绍及安装部署
约 444 字大约 1 分钟
2026-04-30
项目介绍
exchange-core 是一个用 Java 开发的高性能交易撮合引擎,它基于 LMAX Disruptor 和 Eclipse Collections 实现,以微秒级延迟和极高吞吐量著称。
🧬 核心模块与架构
exchange-core 是一个功能完整的交易所核心,你可以把它拆解为以下几个主要模块:
- 订单匹配引擎: 核心的撮合逻辑实现。
- 风险控制与会计模块: 管理用户资产、保证金和风险。
- 磁盘日志与快照模块: 通过事件溯源(Event Sourcing)保证数据持久化和可恢复性。
- 交易、管理与报表API: 与外部系统交互的统一接口。
它的架构亮点和设计原则是理解其高性能的关键:
| 架构/设计原则 | 具体实现方式 |
|---|---|
| 无锁并发与确定性 | 基于 LMAX Disruptor 构建管道化多核处理,每个CPU核心负责特定阶段,实现无锁、无竞争的订单匹配和风控。 |
| 极致性能优化 | HFT优化:订单操作延迟极低;内存工作:数据多常驻内存;采用对象池化降低GC压力;支持线程亲和绑定。 |
| 精度与安全 | 无浮点数:完全避免精度丢失;原子确定性操作:保障金融交易安全。 |
| 高可用设计 | 事件溯源:支持磁盘日志、重放和快照恢复;LZ4压缩节省空间;支持用户暂停/恢复。 |
| 灵活业务支持 | 双风控模式:直兑/杠杆交易;双订单簿:Naive(教学) / Direct(高性能);支持Maker/Taker费率。 |