何时使用AKKA持久演员

时间:2016-02-03 10:44:11

标签: akka-persistence

有人可以解释一下,我们什么时候应该/必须使用持久的演员? 有什么好处,它解决了什么问题(普通演员无法解决)?

1 个答案:

答案 0 :(得分:2)

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