认购事件处理器和跟踪事件处理器能否共存?

问题描述 投票:1回答:1

目前我们使用的是Axon 2,我们想将Axon 2升级到4。我们使用的是带有重放选项的Axon 2订阅事件处理器,在Axon 4中,一个显著的区别是跟踪事件处理器。在Axon 4中,一个显著的区别是跟踪事件处理器。看来,跟踪事件处理器是重放所必须的。是否可以拥有订阅和跟踪事件处理器?是否可以只在重播时使用跟踪处理器,而不使用其他处理器?还是必须改变整个结构?

java cqrs complex-event-processing axon replay
1个回答
1
投票

让我给你一些背景资料来帮助解决这个问题。

我们使用了Axon 2带有重放选项的订阅事件处理器。

在Axon Framework 2.x中,并没有这个概念。SubscribingEventProcessor. Axon 2使用的事件 Cluster的来分组事件处理程序,并提供处理事件的技术逻辑。

是否可以有认购和跟踪事件处理程序?

SubscribingEventProcessorTrackingEventProcessor 的不同实现。EventProcessor. 该 EventProcessor 反过来又用于管理向你编写的事件处理组件提供事件的技术方面。

我所说的 "事件处理组件",是指整个对象中包含有 @EventHandler 中的注释方法。

因此: EventProcessor的是控制一个或几个事件处理组件。补充一下,你可以根据自己的需要拥有其中的几个组。

最后,确实可以同时拥有两个 TrackingEventProcessors和 SubscribingEventProcessor的应用程序。

还是必须改变整个结构?

然而,在这里我建议迁移到使用的是 TrackingEventProcessors. 它的作用是真正地将你的命令端和查询端分开。这是因为Axon将使用专门的线程将事件从 EventStore 当使用 TrackingEventProcessor. A SubscribingEventProcessor 在处理事件的同一线程中调用,这给你的应用程序带来了更多的同步感。

正是这种隔离的力量使得Axon成为你的应用程序中的一个强大的工具,因为它为你提供了进一步解耦你的服务的自由,只要有需要。

因此,从本质上讲,不,你不一定要使用Axon。TrackingEventProcessor. 然而,Axon框架中的默认设置是有原因的,因为它为应用开发者提供了很多好处(允许重播就是其中之一)。

同时,你可能会感兴趣的是阅读一下 这个 来自AxonIQ的博客 TrackingEventProcessor. 此外,AxonIQ一直在举办网络研讨会,提供关于Axon的全部快速概述,让你也可以选择提问。这里是是网络研讨会的链接。

© www.soinside.com 2019 - 2024. All rights reserved.