如何解决有哪些流行的框架可用于实现 CQRS、事件溯源和 Saga 以实现数据一致性和分布式事务?
我想知道一些流行的框架,可用于在应用程序中实现 CQRS、ES、Saga。
作为我研究的一部分,我必须比较这些框架并根据各种-ilities对它们进行评估。
解决方法
我必须比较这些 [事件溯源] 框架,并根据各种 -ilities 对它们进行评估。
问题的前提是您需要一个框架来实现事件溯源,但实际上您不需要。
Greg Young 是事件溯源最有影响力的支持者之一,经常表达他对框架的疑虑。参见,例如,his QCon London 2013 keynote,尤其是。标记 9'。
事件溯源在概念上很简单,不需要框架通常带来的那种魔力。例如,从事件流重建状态只包含在相关流上的 left fold。此外,您不一定需要专门的数据库;我知道有人通过简单地将事件附加到文件中成功实现了事件溯源。
如果您的研究旨在比较事件溯源框架,我认为您应该考虑根本不使用任何框架的情况。
,Axon 是用于构建 CQRS/ES 应用程序的流行框架/服务器。
EventStoreDB 是用于 EventSourcing 部分的流行 EventStore 数据库。
,除了 Axon,在 JVM 上还有 Akka 生态系统(集群分片、持久化和投影模块(以及仍在进行中的分片守护进程模块)与 CQRS/ES/滴滴)。 Akka Persistence 的一个好处是能够从各种数据存储中进行选择以用作事件存储(JDBC SQL 数据库和 Cassandra 是最常见的,但支持的还有更多)。我的经验是,它具有极高的可用性,并且由于它允许将有状态的事件源应用程序部署为无状态(例如,在 Kubernetes 中无需操作员),因此具有很大的部署灵活性。请注意,由于它建立在 actor 模型之上,因此许多 JVM 可观察性工具不能很好地与它配合使用(通常假设线程到任务的映射更强大),因此建议使用某些获得商业许可的可观察性工具。
Lagom 建立在 Akka 的基础上,并且在处理事情的方式上更加自以为是/指导。它集成了高级网络框架,因此特别适合处理网络前端流量。
此外,Cloudstate 还提供了一个多语言(您只需要用支持 grpc 的语言表达域逻辑)事件溯源实现。
,如果您正在寻找托管解决方案,您还可以查看我们在 Serialized 提供的服务。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。