jgroups - 组协调器死亡时的故障检测

jgroups - Failure Detection when group coordinator dies

JGroups 文档 (http://www.jgroups.org/manual/html/index.html) 指出,当使用 FD 发现协议时,当前组协调器负责在集群的节点死亡时更新集群的视图,但文档中并不清楚当组协调器本身死亡时正在做的事情。
比如我们有一个集群{A,B,C,D},节点A是这里的协调器。 现在,如果一个新成员 'E' 想要加入,那么协调器将启动 JOIN 协议并允许 E 加入集群,如果一个成员,比如 'C',崩溃了,那么 'C' 的邻居将广播可疑消息,协调器的 GMS 协议将排除 'C' 并将新视图广播给集群成员。这是可以理解的。但是,如果组协调器本身死亡,那么(根据某种逻辑)该视图中的下一个成员将接任协调器。

首先,您正在查看过时的文档;新的在 http://www.jgroups.org/manual/index.html.

当协调员死亡时,第二个内联将接任并成为新的协调员。因此,如果 B 收到 SUSPECT(A) 消息,它知道它需要接管,因为坐标 (A) 崩溃了。

请注意,如果您使用 UDP 作为传输方式,FD_ALLFD_ALL2 优于 FD