2

关于故障检测和检测的八卦,我正试图了解一些事情。

我写的一个多 jvm 测试似乎表明,一个被检测为失败但仍可通过其他节点访问的成员将不会收到UnreachableMember(self)事件,告诉他他已被某个成员检测为无法访问。

测试如下:在3节点集群中,node2检测node3为不可达,node3检测node2为不可达。然后node1接收到无法访问的信息node2node3通过八卦)。但是,node2永远node3不会收到他们自己被检测为无法访问的事实。

经过一番挖掘后,GossipSpec我发现“错误”的不可访问成员将达到收敛,即使它被标记为Unreachable(参见测试"not reach convergence when unreachable")。

这就是我没有看到UnreachableMember(self)活动的原因吗?

我试图达到的最终目标是检测一个成员被错误地发现无法访问,因为由于两者之间的通道故障,该成员无法访问该成员。

4

0 回答 0