Akka.Net / Eventstore将内容保留两次而不是重复事件的预测

时间:2018-06-06 05:06:30

标签: akka akka.net event-store

根据Akka.net和Eventstore,我有一个问题要坚持演员事件。

假设我有一个带有父actor和 n 子actor的actor系统,给出以下场景:

  • 每个儿童演员都可以坚持不同类型的活动。
  • 儿童演员只有在必须执行某些工作时才会开始。当儿童演员完成工作时,它将被终止。
  • 父演员接受所有要做的工作。该工作由Id标记。此Id可以由子actor的streamId引用。
  • 当收到工作时,子actor将启动并从eventstore重播其事件(如果系统中已存在某些事件)。
  • 父actor不知道eventstore中存在哪个子streamId。

新的用例需要父进程接收到特殊类型的命令(例如 calculateDelta )时才需要执行以下操作:

  • 从儿童演员那里获取一个定义类型的事件的所有流(例如 myDeltaInformationChanged
  • 计算哪个子actor持有 myDeltaInformationChanged 事件,因为父actor最后一次收到 calculateDelta 命令。
  • 收到 calculateDelta 命令时所需的信息只是 myDeltaInformationChanged 事件的一部分。

问题:

我有两种方法可以在具有eventstore的akka​​系统中完成此操作:

  1. 通过从子actor到父actor的消息发送 myDeltaInformationChanged 事件,并将事件保存在父actor的事件流中。
  2. 使用所有 myDeltaInformationChanged 事件在eventstore中创建投影。
  3. 实现这样的用例的首选方法是什么?

      

    因为在akka中,默认情况下不保证传递消息,   没有努力。我还必须保证交付    myDeltaInformationChanged 从孩子到父母。

0 个答案:

没有答案