【发布时间】:2021-01-14 15:32:01
【问题描述】:
我们正在尝试实现我们自己的基于 Cassandra 的事件存储,该存储扩展了 EmbeddedEventStore。关于为什么这可能不适用于 Axon 的任何想法,以便我们看到与使用 JPA 相同的行为?一个疑问围绕着 Cassandra 支持最终一致性这一事实。目前,当在单个 JVM 中使用多线程 TrackingEventProcessor 和/或在不同 JVM 中部署基于 Saga 的应用程序时,我们看到了意外行为,日志如下:
o.a.e.TrackingEventProcessor : message=Unable to claim the token for segment: 0. It is owned by another process
似乎它总是试图从段 0 中检索。
这很可能是我们自己的缺陷(可能是我们的 bean 配置 KafkaPublisher/EventProcessorConfigurer),我们会解决,但更大的问题是,在您看来,是否有可能使Cassandra 与 Axon 合作。我记得在 google 群组论坛中看到一些帖子说由于性能问题没有考虑 Cassandra 支持。我们希望确保我们不会投资于那些难以维护或根本不是一个好的解决方案的东西。
【问题讨论】:
-
你的一些措辞让人怀疑@blackcompe。您是要创建 Cassandra 的
TokenStore还是EventStore?是您对EmbeddedTokenStore的使用让我怀疑。 Axon Framework 中有一个EmbeddedEventStore,但根本没有EmbeddedTokenStore。此外,用户组对 Cassandra 的“性能争论”是关于事件存储,而不是令牌存储。 -
只是想回复您的“我记得在 google 群组论坛中看到过一些帖子”。正如您可能知道的那样,谷歌小组已移至the new discuss platform,所有旧帖子都已导入并可搜索。您可能不知道在那里您可以提及和/或 DM 人。这可能是与过去使用该组合的人取得联系的好方法。
-
@Steven:Iol,是的,我的意思是 EventStore。
-
@MilenDyankov:我知道。我反弹回来。