cqrs - Axon Framework与Eventuate的比较

标签 cqrs event-sourcing akka-persistence axon

我们目前正在对CQRS和事件源进行一些研究,并发现了两个主要框架来解决这两个问题:Axon FrameworkEventuate。两者都在继续开发,而Eventuate现在在RBMH repository中更积极地开发。

我当时是GIT为这两个公司克隆一些示例项目的,然后得出结论,Eventuate看起来更轻巧,但是我认为这是由于与Axon相比缺少功能。

我徒劳地试图找到这两个框架之间的比较,同样在Stackoverflow中,我也找不到任何框架。有人有输入吗?

最佳答案

作为Axon Framework的原始作者,这个答案可能有些偏颇。尽管我不熟悉Eventuate的概念,但我也不是专家。

自那时以来,Axon已经存在了大约7年,并且已在生产中的许多系统中使用。看来Eventuate已被设计为SaaS解决方案(具有开源本地安装替代方案),目前已在Alpha中使用。

这两个框架在设计时都考虑了不同的目标。在Eventuate专注于事件源和事件发布的地方,Axon的重点更多地放在消息传递的抽象上,其中消息传递既是Commands,Events,又是(在随后的阶段)查询。它提供了注释来划分事件和命令处理程序。它还允许您以使实体与框架内部分离的方式设计实体。

这种抽象使您可以“插入”您想用作事件存储的任何数据库。 Axon开箱即用地支持JPA,JDBC和MongoDB。据我所知,Eventuate提供了自己的事件存储实现。

关于cqrs - Axon Framework与Eventuate的比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43136291/

相关文章:

java - akka-持久化与 Play 框架

design-patterns - 重播事件以进行调整

event-sourcing - 当参与者状态仅增加大小时,我可以使用 akka 持久性吗?

java - Axon框架-GZIP JSON数据

aggregate - 事件存储根聚合与聚合

.net - 在 CQRS 模式 + 事件源中读取 "latest data"的使用模式

events - 事件溯源 - 如何删除事件存储中的数据?

scala - 具有持久参与者的 Akka 分片的背压

session - CQRS 和 session

domain-driven-design - 使用流程管理器 aka saga 在同一有界上下文中跨聚合根的最终一致性