我在akka.net集群中创建了一个监控节点,我正在使用cluster.SendCurrentClusterState(Self)
,但并非所有节点都立即可见,有时节点也会离开集群,而日志表明节点已被正确删除,国家说节点已经运行了很长时间。
获取整个akka.net集群的更新状态的最佳/正确方法是什么?
答案 0 :(得分:0)
在集群状态方面,有两个重要的属性值得记住:
目前最简单的群集状态是Cluster.Get(Context.System).State
,其中包含有关当前已知成员以及无法访问的节点的信息。
另一种方式是cluster.Subscribe(Self, typeof(ClusterEvent.IMemberEvent), typeof(ClusterEvent.IReachabilityEvent))
(当演员死亡时必须取消订阅)。这样,您可以在出现集群状态更改时收到通知。
关于确认删除节点所需的长时间。根据一个人的意思," long",这可能是一些错误的迹象。在这种情况下,如果您可以通过重复步骤设置问题,那就太棒了。