我已经和破坏者帕特恩做过一些研究,有一件事我无法绕过我的脑袋。
有生产者,它们为环形缓冲区提供条目。 有一个环形缓冲区,基本上是固定但无限的阵列。 有消费者(主要是拼写线程),处理来自ringbuffer的条目。
我试图将破坏者模式如何用于股票市场的真实情况。
通常你会得到包含所有订单的订单。我怎么看,生产者会收到经纪人的新订单。制作人将订单放在ringbuffer中。订单放入环形缓冲区后,消费者会提取订单并与订单簿交叉检查。
现在,这是我在理解优势方面遇到一些麻烦的部分。如果有多个消费者,这就是你想要的可扩展系统,怎么会有多个消费者处理订单呢?
订单必须在消费者访问时锁定,以确保完整性。 我正在寻找的是这个问题的答案,并粗略地了解订单匹配引擎如何从这个模式中受益。
LMAX有自己的订单匹配引擎,因此必须有一些我忽略的东西。
谢谢
答案 0 :(得分:2)
他们声称能够在这个单线程上执行多达600万个订单/秒。