Axon Framework与Eventuate比较

Ste*_*o L 12 cqrs event-sourcing axon akka-persistence

我们目前正在对CQRS和事件采购进行一些研究,并找到了两个主要框架来处理这两个问题:Axon FrameworkEventuate.两者都在不断发展,而现在在RBMH存储库中更积极地开发了Eventuate.

我是GIT克隆了两个示例项目,并得出结论,Eventuate看起来更轻一点,但我认为这是由于缺乏与Axon相比的功能.

我徒劳地试图找到这两个框架之间的比较,在Stackoverflow中我也找不到任何框架.有人有一些意见吗?

All*_*ard 11

作为Axon Framework的原作者,这个答案可能有点偏颇.虽然我熟悉它的概念,但我也不是Eventuate的专家.

Axon已经存在了大约7年,从那时起,许多系统都在使用它.似乎Eventuate被设计为SaaS解决方案(使用开源本地安装替代方案),目前在Alpha中.

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

这种抽象允许您"插入"您想要用作事件存储的任何数据库.Axon开箱即用,支持JPA,JDBC和MongoDB.据我所知,Eventuate提供了自己的事件存储实现.

  • Axon 通过允许多个节点处理命令,使用一致散列来路由命令来支持命令可扩展性。DistributedCommandBus(带有基于 JGroups 和 Spring Cloud 的实现)负责这个。 (4认同)
  • 嗨@Allard,非常感谢您的回复。我没想到会找到 Axon 框架的创始人作为我帖子的接收者 ;-) 您是否同意 Axon 不支持因果一致性方法 OOTB,就像 Eventuate 那样?IE。使用 Eventuate 实现写入可伸缩性有点困难,并且聚合缓存在这方面增加了更多的复杂性。我们如何使用 Axon 实现命令复制?这似乎是 Eventuate 的主要好处,这也是 Akka Persistence 的主要区别 (3认同)