[英]Can subscribing event processor and tracking event processor co exist?
目前我們正在使用 Axon 2。我們想將 Axon 2 升級到 4。我們使用帶有重播選項的 Axon 2 訂閱事件處理器。 在 Axon 4 中,一個顯着的區別是跟蹤事件處理器。 看來,跟蹤處理器是重放的必備品。 是否可以訂閱和跟蹤事件處理器? 是否可以僅將跟蹤處理器用於重放並離開 rest? 還是必須改變整個結構?
讓我給你一些背景知識來幫助你解決這個問題。
我們使用帶有重播選項的 Axon 2 訂閱事件處理器。
在 Axon Framework 2.x 中,沒有SubscribingEventProcessor
的概念。 Axon 2 使用 event Cluster
對事件處理程序進行分組,並提供處理事件的技術邏輯。
是否可以訂閱和跟蹤事件處理器?
SubscribingEventProcessor
和TrackingEventProcessor
只不過是EventProcessor
的不同實現。 EventProcessor
反過來用於管理向您編寫的事件處理組件提供事件的技術方面。
我所說的“事件處理組件”是指整個 object 以及其中帶有@EventHandler
注釋的方法。
因此, EventProcessor
控制一個或多個事件處理組件。 補充說,您可以擁有幾個您認為合適的組。
總而言之,在一個應用程序中確實有可能同時擁有TrackingEventProcessor
和SubscribingEventProcessor
。
還是必須改變整個結構?
然而,在這里我建議遷移到使用TrackingEventProcessor
。 它的作用是真正將您的命令端與查詢端分開。 這是因為 Axon 在使用TrackingEventProcessor
時將使用專用線程從EventStore
中提取事件。 在處理事件的同一線程中調用SubscribingEventProcessor
,這使您對應用程序有更同步的感覺。
正是這種隔離的力量使 Axon 成為在您的應用程序中使用的如此強大的工具,因為它為您提供了在需要時進一步解耦服務的自由。
所以本質上,不,您不必使用TrackingEventProcessor
。 然而,它是 Axon Framework 中的默認設置是有原因的,因為它為應用程序開發人員提供了很多好處(允許回放是其中之一)。
同時,閱讀 AxonIQ 關於TrackingEventProcessor
的這篇博客可能會很有趣。 此外,AxonIQ 一直在提供網絡研討會,提供完整的 Axon 快速概覽,讓您也可以選擇提問。 這是相關網絡研討會的鏈接。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.