簡體   English   中英

為什么lmax干擾器架構使用2個干擾器?

[英]Why lmax disruptor architecture use 2 disruptor?

在“lmax干擾器架構設計”中表明,他們正在獲取輸入並將其排入輸入干擾器中,並且有多個事件處理程序,如日志記錄、解組、業務邏輯,然后將其排入輸出干擾器和輸出干擾器具有編組、日志等事件處理程序..

我的疑問是..為什么不使用一個干擾器和輸入和輸出干擾器的所有組合事件處理程序。 我們可以以這樣的方式處理事件,在業務邏輯處理輸出的中斷事件之后將調用。??

如果我誤解了,請糾正我。

文章中可能存在多個輸出干擾器。

在某些情況下,將輸出處理器置於與業務邏輯處理器相同的干擾器中是一種完全有效的設計選擇。 優點是如果需要輸出的數據已經包含在輸入事件中,則不會對其進行復制。

然而,在這種情況下,其中之一很慢,這可能會導致干擾器填滿容量並阻止業務邏輯處理器處理新事件。

通過將輸出中斷器作為單獨的環形緩沖區,業務邏輯處理器可以決定如何處理速度較慢且環形緩沖區已滿的輸出中斷器。 如果輸出干擾器需要對某些外部資源的獨占訪問,它還允許多個輸入干擾器共享同一個輸出干擾器。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM