【发布时间】:2013-11-20 21:16:00
【问题描述】:
我对破坏者模式进行了一些研究,但有一件事我无法理解。
有生产者,它们为环形缓冲区提供入口。 有环形缓冲区,基本上是一个固定但无限的数组。 有消费者(基本上是独立的线程),处理来自环形缓冲区的条目。
我试图说明如何在股票市场的真实案例场景中使用破坏者模式。
通常您会拥有包含所有订单的订单簿。我怎么看,生产者会收到经纪人的新订单。生产者将订单放入环形缓冲区。在订单被放入环形缓冲区后,消费者获取订单并与订单簿进行交叉检查。
现在这是我在理解优势时遇到一些麻烦的部分。如果有多个消费者,这就是你想要的可扩展系统,怎么会有多个消费者处理订单?
当消费者访问订单簿时,必须锁定订单簿以确保完整性。 我正在寻找的是这个问题的答案以及一个订单匹配引擎如何可能从这种模式中受益的粗略想法。
LMAX 有自己的订单匹配引擎,所以我肯定忽略了一些东西。
谢谢
【问题讨论】: