我在我的akka.net集群中创建了一个监视节点,我使用的是cluster.SendCurrentClusterState(Self),但并不是所有的节点都是立即可见的,有时一个节点离开集群,当日志说该节点被正确删除时,状态显示该节点已经运行了很长一段时间。
获得整个akka.net集群更新状态的最佳/正确方法是什么?
发布于 2017-04-30 07:03:39
当谈到集群状态时,有两个重要的属性值得记住:
目前集群状态中最简单的是Cluster.Get(Context.System).State,它包含有关当前已知成员和不可访问节点的信息。
另一种方法是cluster.Subscribe(Self, typeof(ClusterEvent.IMemberEvent), typeof(ClusterEvent.IReachabilityEvent)) (演员去世时必须取消订阅)。这样,您就可以在集群状态更改出现时得到通知。
对于需要很长时间确认已删除的节点。根据“长”的含义,这可能是某种错误的迹象。在这种情况下,如果您可以使用repro步骤设置一个问题,那就太好了。
https://stackoverflow.com/questions/43680587
复制相似问题