akka 集群远程演员死亡怎么看?

pftdvrlh  于 2022-11-06  发布在  其他
关注(0)|答案(1)|浏览(85)

我使用Akka分片集群将工作负载分布在多个节点上,并使用context.watchWith(worker)检测子参与者的意外终止。
如果子执行元被分配到与父节点不同的节点上(通过群集分片),并且如果该子节点关闭,则父执行元将不会收到子执行元的终止通知。
我知道我可以添加自己的逻辑来跟踪子演员的生命周期。
不过,我仍然想知道,Akka是否为本例(远程节点上的儿童演员)提供了死亡监视的本地支持?

yptwkmov

yptwkmov1#

通常情况下并不是这样,如果观察一个位于另一个节点上的ActorRef,那么如果该参与者停止,就会给予一个终止消息。
但是,在使用集群分片时,您实际上并不具有对远程ActorRef的访问权限,而是使用分片作为代理,根据消息中的字段来传递消息。例如当新节点加入或节点离开集群时,并且在这种情况下,分片的施动者可以被停止,并且在下一消息时在另一节点上开始节点中。
如果观察远程参与者的动机是为了获得某种形式的交付保证,那么了解我们在最近发布的Akka 2.6.4中添加了一个名为Reliable Delivery的新工具可能会很有趣。

相关问题