Reliable Actors - 在所有实例之间共享一个集合?

Reliable Actors - share a collection between all instances?

目前,我派出了一群演员来完成一些长期的 运行 任务。我将这些放入一个列表中,然后调用 Task.WaitAll() 来收集结果。

但是,我想在每个 Actor 完成其任务时收集结果(而不是等待每个 Actor 完成并在最后汇总)。

我正在考虑使用可靠的集合,但如何在所有参与者之间共享可靠的集合?

谢谢!

Actor 在设计上是独立的实体,因此您不能简单地 'share' 多个实例之间的集合。我想到了几个解决方法 -

  • 生成一个具有固定 id 的专用 actor,并让其他 actor 在完成工作后与该 actor 进行通信
  • 创建一个单独的有状态服务,您的参与者将访问该服务以存储所需的数据
  • 有一个单独的资源,比如 EventHub,来监听 actor 在任务完成时生成的事件