Java 将数据库迁移到Akka持久性

Java 将数据库迁移到Akka持久性,java,database,scala,akka,Java,Database,Scala,Akka,关于Akka持久性的最佳实践没有太多文档 像世界上其他地方一样,我在一个关系数据库(postgres)中,但我想至少部分转向使用akka持久性。对于人们来说,这似乎是一个非常常见的用例。什么是最佳实践 假设我在RDB中有一个用户类,persons表。本能地,我认为您应该在待持久化的参与者初始化时执行DB查找,但这不起作用,因为如果参与者之前已经创建,那么它还没有重放它的日志。我可以用旗子做些什么,在它运行后,它正在恢复,但我不确定挂在哪一个最好的地方 如何创建一个在最初创建持久化Akka act

关于Akka持久性的最佳实践没有太多文档

像世界上其他地方一样,我在一个关系数据库(postgres)中,但我想至少部分转向使用akka持久性。对于人们来说,这似乎是一个非常常见的用例。什么是最佳实践

假设我在RDB中有一个用户类,
persons
表。本能地,我认为您应该在待持久化的参与者初始化时执行DB查找,但这不起作用,因为如果参与者之前已经创建,那么它还没有重放它的日志。我可以用旗子做些什么,在它运行后,它正在恢复,但我不确定挂在哪一个最好的地方


如何创建一个在最初创建持久化Akka actor时只调用一次的函数?

一种方法是创建actor,然后在系统第一次实例化时将所有DB条目作为域事件提供给它(例如发送CreateUser消息)(最好在两者之间创建快照)。这是一个有效的解决方案,但在生产系统上,谁能说您可以像这样直接进行迁移呢?如果你有数百万用户,你不想关闭你的应用,迁移,然后重新启动它。延迟加载过程可能是正确的。