何时使用 AKKA persistent actor

When to use AKKA persistent actor

当should/must我们使用persistent actor时,有人可以解释一下吗? 有什么好处,解决什么问题(一般演员解决不了)?

持久性 actor 有能力在重新初始化后恢复其状态。它根据您分配的持久性 ID 读取日志条目。当具有相同持久 id 的 actor 重新初始化时,它会根据那些记录的更新恢复其内部状态。例如,您有一个代表实体(例如用户)的参与者。您向参与者发送消息以更新该用户的各个方面。在应用这些更新后的某个时候,actor 将被终止或钝化。在稍后的某个时间点,actor 将使用相同的持久性 id 重新初始化。然后应用先前记录的更新,并且 actor 的内部状态与它关闭时的状态完全相同。通常,当您希望演员恢复到之前的状态时,您会使用它。一个用例是,如果您有一个受监督的参与者,其中监督策略被配置为在失败时重新启动参与者。在这种情况下发生故障后,actor 关闭,然后重新启动并应用所有记录的更新。最后,参与者处于与失败之前相同的状态。