gpt4 book ai didi

akka - 使用 akka-persistence 实现 CQRS + 事件溯源

转载 作者:行者123 更新时间:2023-12-02 13:30:01 28 4
gpt4 key购买 nike

我想使用 akka-persistence 事件溯源功能来在我的新项目中实现 CRQS + 事件溯源的想法。问题是,除了文档( http://doc.akka.io/docs/akka/snapshot/scala/persistence.html )之外,我找不到任何好的示例或指南如何处理它。该文档很好地解释了架构的所有构建 block (如处理器、 View 、 channel ),但没有解释如何将它们组合在一起。

所以问题是:我应该如何将 akka-persistence 中的写入模型与读取模型连接起来?我想出了三个选择:

  • 直接连接EventsourcedProcessor -> View,View直接从journal接收所有事件。这似乎是最简单的解决方案,但我想知道我们是否可以使用这种方法将处理器和 View 分布在不同的节点上。

  • EventsourcedProcessor -> channel -> View /普通 Actor。与第一个选项有什么区别?如果这是正确的解决方案,为什么我们在 akka-persistence 构建 block 中拥有 View ?我应该使用 Channels 还是 PersistentChannels ?

  • EventsourcedProcessor -> 某种事件总线(例如 context.system.eventStream) -> View /Actor。

最好的方法是什么?为什么?

最佳答案

EventsourcedProcessor -> View 就是实现这一点的方法。 View 从日志中重播,因此将 View 放置在另一台计算机上时需要分布式日志。日志实现列表可以在这里找到:http://akka.io/community/

关于akka - 使用 akka-persistence 实现 CQRS + 事件溯源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22475481/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com