1 Unstar Star 0 Fork 8

xu.qian / occo-exchangeJavaApache-2.0

forked from occo / occo-exchange 
Create your Gitee Account
Explore and code with more than 5 million developers,Free private repositories !:)
Sign up
采用热备份技术引入多台互为热备份的分布式撮合引擎。多策略交易所撮合引擎,包含订单薄撮合与深度撮合。采用伦敦外汇交易所LMAX开源的Disruptor实现高效撮合队列。良好的解决了技术复杂度与业务复杂度相互交错纠缠不清的问题,让技术升级与业务扩展更高效。 spread retract

Clone or download
README.md 1.80 KB
Copy Edit Web IDE Raw Blame History
kinbug authored 2020-06-05 10:50 . update README.md.

occo-exchange

介绍

采用热备份技术引入多台互为热备份的分布式撮合引擎。多策略交易所撮合引擎,包含订单薄撮合与深度撮合。采用伦敦外汇交易所LMAX开源的Disruptor实现高效撮合队列。良好的解决了技术复杂度与业务复杂度相互交错纠缠不清的问题,让技术升级与业务扩展更高效。

优势

  • match-engine水平价格为独立撮合逻辑,相比于订单队列为撮合队列的交易引擎来说,价格区间越小时,性能越优越。
  • match-engine不再对撮合薄进行排序,而是用并行流计算出最优撮合价格,进行撮合。
  • match-engine每个价格下的订单都是异步完成被撮合。独立价格下订单不影响下一个新发生的撮合。
  • match-engine每个价格撮合都是独立的,与下一个价格没的关系,实现快速吃单。
  • match-engine每个新的订单经历撮合处理器后,后续逻辑采用并行计算,能更快速反馈数据撮合结果。
  • match-engine使用数据流反应式MQ消费,降低由MQ带来的数据延迟。
  • match-engine撤单走独立的逻辑,不用和下单在一个处理序列。
  • match-engine釆用多机热备份技术,降低了单一内存撮合引擎故障时系统不可用的问题。

技术选择

  • Disruptor: 号称每秒钟承载600万订单级别的无锁并行计算框架,主要选择原因还是并行计算。
  • Hazelcast: 很好进行内存处理,很强原子性保障的操作能力。同时分布式内存实现很简单,实现多机热备份数据。
  • rocketmq: 消息可以做到0丢失,支持10亿级别的消息堆积,不会因堆积导致性能下降,主要是经过双11检验
  • WebFlux: 它能够充分利用多核 CPU 的硬件资源去处理大量的并发请求 。

描述

Comment ( 0 )

Sign in for post a comment

Java
1
https://gitee.com/xu_qian/occo-exchange.git
git@gitee.com:xu_qian/occo-exchange.git
xu_qian
occo-exchange
occo-exchange
master

Search

132457 8cb2edc1 1899542 131848 70c8d3a4 1899542