akka持久性与否

时间:2014-11-06 21:40:51

标签: scala akka akka-persistence

当前应用程序使用Akka eventstream及其发布/订阅用例,该用例导入大量数据,并在接收到它发布的每一行的数据和事件,并且有一个订阅者。如果发布者/订阅者出现问题,这种设计就会面临丢失事件的风险。

我想知道在这里使用Akka持久性是否有意义,原因有几个

1)坚持事件 2)审计历史 3)使用快照重新创建场景

请注意,系统中没有共享/全局状态(通常在几乎所有Akka持久性博客/示例中都被描述为用例)。

Akka持久性在这里有意义吗?

1 个答案:

答案 0 :(得分:0)

如果我理解你的情况正确,我会拒绝1),是2),不是3):

1)如果由于pub / sub mediator(您实际上无法控制)的问题而丢失了消息,它将永远不会到达您的持久性actor,因此永远不会保存在事件流中,因此永远不会重播。

2)在审核过程中可以看到录制的信息。

3)如果你的演员是无状态处理器,你会在快照中重新创建/保存什么场景?

我建议你可以通过使用确认/重试机制来解决问题,在这种机制中你会定期重新发送消息,直到你收到消费者的确认消息。