gpt4 book ai didi

akka - 哪些 Actor 应该持久?

转载 作者:行者123 更新时间:2023-12-02 17:30:42 26 4
gpt4 key购买 nike

让我们想象一个典型的 Akka 应用程序,它具有类似于 Actor 的树形结构,即少量(2-3)个顶级 Actor,它们管理层次结构底部的潜在数千个小型 Actor。看来有两种持久化方法:

  1. 仅让顶级参与者持久存在。 child Actor 依靠 parent 进行任何状态恢复等。
  2. 让所有 child Actor 坚持不懈。我们最终可能会获得数千个持久性 id,并且每个参与者都可以恢复其自己的状态。

在这些方法之间进行选择时有哪些考虑因素?是否有任何典型的用例示例非常适合其中一种但不适合另一种?

这个问题应该是抽象的,但这里有一个例子。假设我们为应用程序的每个用户都有一个参与者,并且这些参与者共享相同的父参与者。如果我们想要保留每个用户的电子邮件地址及其任何更新,我们可以使每个用户参与者持久化,或者我们可以只使顶级参与者持久化。

最佳答案

在这种情况下,我可能会采用第二种方法。您只能在“选择”用户参与者时恢复其事件。使这种方法更加方便的事实是,用户参与者的行为可以根据其状态而改变。例如。如果用户注册,您当然不希望多次保留相同的“注册”事件。或者,如果用户停用其帐户,您当然不想让他更新他的电子邮件等。此外,所有更改都保存为一系列事件。所以没有数据丢失。

另一方面,如果您使用第一种方法,则必须在父 Actor 恢复时重新创建所有子 Actor,以便设置它们的状态,从而避免前面提到的不良行为。

关于akka - 哪些 Actor 应该持久?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42610266/

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