5
LMAX的破坏者模式如何工作?
我试图了解破坏者的模式。我已经看过InfoQ视频,并试图阅读他们的论文。我知道其中涉及一个环形缓冲区,它被初始化为一个非常大的数组,以利用缓存的局部性,消除新内存的分配。 听起来好像有一个或多个原子整数可以跟踪位置。每个“事件”似乎都有一个唯一的ID,并且可以通过找到相对于环大小等的模数来找到它在环中的位置。 不幸的是,我对它的工作方式没有直观的认识。我完成了许多交易应用程序,研究了参与者模型,研究了SEDA等。 他们在演讲中提到,这种模式基本上就是路由器的工作方式。但是我也没有找到关于路由器工作方式的任何好的描述。 是否有一些更好的解释的好指针?