2013-11-20 84 views
0

我已经做了一些研究与扰乱模式,有一件事我不能包裹我的头周围。LMAX的破产者以何种方式可用于股票市场?

有生产者,提供环缓冲区的条目。 有一个环缓冲区,基本上是一个固定的,但无尽的阵列。 有消费者(主要是sperate线程),处理来自环缓冲区的条目。

我想涉及如何破坏者百通能够在A股市场的实际情况使用。

通常你会有包含所有订单的订单。我如何看待它,制片人会收到经纪人的新订单。生产者将订单放入环缓冲区。订单放入循环缓冲区后,消费者提取订单并与订单簿进行交叉核对。

现在,这里是我对理解优势有些麻烦的部分。如果会有多个消费者,这是您想要的可扩展系统,那么如何有多个消费者处理订单?

订单被消费者访问时必须锁定以确保完整性。 我正在寻找的是这个问题的答案,并且大致介绍了一个订单匹配引擎如何可能从此模板中受益。

LMAX都有自己的顺序匹配引擎,所以必须有我忽视的东西。

谢谢

回答

1

他们有一个消费者自己处理订单。其余的消费者对这个订单处理器的输出起作用 - 例如返回响应,编写日志,写入数据库等。实际的订单处理发生在单个线程上,这是访问订单的唯一线程,因此不需要锁定它。

他们声称能够做到最高6级万元的订单/秒,这个单一线程。

+1

没错。关于LMAX体系结构最重要的一点是(正如他们公开描述的那样),就是有一个线程执行实际的顺序匹配,它可以在不锁定的情况下与输入和输出线程进行通信。这意味着虽然这项工作是通过一个线程完成的,但它能够以极快的速度运行。这种方法不会随着额外的内核而扩展,但这并不重要,因为它在单个内核上的速度足够快。 –

+0

谢谢你的回答拉达和汤姆安德森。 但是,然后问题出现: – user3014924

+0

谢谢你的回答拉达和汤姆安德森。 根据你的回答,我开始认为Disruptor应该被看作是以非并行但平行的方式在结构上处理行为的一种手段。 什么干扰器不是,是快速命令匹配的模板。 对吗? – user3014924

相关问题