在“lmax 中断器架构设计”中,它表明,他们正在接受输入并将其加入输入中断器,并且有多个事件处理程序,如日志、解组、业务逻辑,然后将其加入输出中断器和输出中断器有编组,日志等事件处理程序..
我的疑问是..为什么不将一个破坏器与输入和输出破坏器的所有组合事件处理程序一起使用。我们可以这样处理事件,在业务逻辑处理输出的中断事件之后会调用.??
如果我误解了,请纠正我。
在“lmax 中断器架构设计”中,它表明,他们正在接受输入并将其加入输入中断器,并且有多个事件处理程序,如日志、解组、业务逻辑,然后将其加入输出中断器和输出中断器有编组,日志等事件处理程序..
我的疑问是..为什么不将一个破坏器与输入和输出破坏器的所有组合事件处理程序一起使用。我们可以这样处理事件,在业务逻辑处理输出的中断事件之后会调用.??
如果我误解了,请纠正我。
在本文中,可能存在多个输出干扰因素。
在某些情况下,将输出处理器与业务逻辑处理器置于同一中断器中是一个完全有效的设计选择。优点是如果输入事件中已经包含需要输出的数据,则无需复制。
然而,在这种情况下,其中一个速度很慢,可能会导致破坏者填满容量并阻止业务逻辑处理器处理新事件。
通过将输出干扰器作为单独的环形缓冲区,业务逻辑处理器可以决定如何处理速度较慢且环形缓冲区已满的输出干扰器。如果输出干扰器需要独占访问某些外部资源,它还允许多个输入干扰器共享相同的输出干扰器。