簡體   English   中英

訂閱事件處理器和跟蹤事件處理器可以共存嗎?

[英]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對事件處理程序進行分組,並提供處理事件的技術邏輯。

是否可以訂閱和跟蹤事件處理器?

SubscribingEventProcessorTrackingEventProcessor只不過是EventProcessor的不同實現。 EventProcessor反過來用於管理向您編寫的事件處理組件提供事件的技術方面。

我所說的“事件處理組件”是指整個 object 以及其中帶有@EventHandler注釋的方法。

因此, EventProcessor控制一個或多個事件處理組件。 補充說,您可以擁有幾個您認為合適的組。

總而言之,在一個應用程序中確實有可能同時擁有TrackingEventProcessorSubscribingEventProcessor

還是必須改變整個結構?

然而,在這里我建議遷移到使用TrackingEventProcessor 它的作用是真正將您的命令端與查詢端分開。 這是因為 Axon 在使用TrackingEventProcessor時將使用專用線程從EventStore中提取事件。 在處理事件的同一線程中調用SubscribingEventProcessor ,這使您對應用程序有更同步的感覺。

正是這種隔離的力量使 Axon 成為在您的應用程序中使用的如此強大的工具,因為它為您提供了在需要時進一步解耦服務的自由。

所以本質上,不,您不必使用TrackingEventProcessor 然而,它是 Axon Framework 中的默認設置是有原因的,因為它為應用程序開發人員提供了很多好處(允許回放是其中之一)。

同時,閱讀 AxonIQ 關於TrackingEventProcessor這篇博客可能會很有趣。 此外,AxonIQ 一直在提供網絡研討會,提供完整的 Axon 快速概覽,讓您也可以選擇提問。 是相關網絡研討會的鏈接。

暫無
暫無

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

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