Reliable Actors - 在所有实例之间共享一个集合?
Reliable Actors - share a collection between all instances?
目前,我派出了一群演员来完成一些长期的 运行 任务。我将这些放入一个列表中,然后调用 Task.WaitAll() 来收集结果。
但是,我想在每个 Actor 完成其任务时收集结果(而不是等待每个 Actor 完成并在最后汇总)。
我正在考虑使用可靠的集合,但如何在所有参与者之间共享可靠的集合?
谢谢!
Actor 在设计上是独立的实体,因此您不能简单地 'share' 多个实例之间的集合。我想到了几个解决方法 -
- 生成一个具有固定 id 的专用 actor,并让其他 actor 在完成工作后与该 actor 进行通信
- 创建一个单独的有状态服务,您的参与者将访问该服务以存储所需的数据
- 有一个单独的资源,比如 EventHub,来监听 actor 在任务完成时生成的事件
目前,我派出了一群演员来完成一些长期的 运行 任务。我将这些放入一个列表中,然后调用 Task.WaitAll() 来收集结果。
但是,我想在每个 Actor 完成其任务时收集结果(而不是等待每个 Actor 完成并在最后汇总)。
我正在考虑使用可靠的集合,但如何在所有参与者之间共享可靠的集合?
谢谢!
Actor 在设计上是独立的实体,因此您不能简单地 'share' 多个实例之间的集合。我想到了几个解决方法 -
- 生成一个具有固定 id 的专用 actor,并让其他 actor 在完成工作后与该 actor 进行通信
- 创建一个单独的有状态服务,您的参与者将访问该服务以存储所需的数据
- 有一个单独的资源,比如 EventHub,来监听 actor 在任务完成时生成的事件