【问题标题】:jgroups - Failure Detection when group coordinator diesjgroups - 组协调员死亡时的故障检测
【发布时间】:2016-07-07 06:36:36
【问题描述】:

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

  • 我的问题是下一位成员将如何了解新的 查看?
  • 是通道暂时变成coordinator了吗 并将新视图安装到成员,每个成员检查是否 通过检查第一个/最老的成员,它是否是新的协调员 在视图中?

【问题讨论】:

    标签: jgroups


    【解决方案1】:

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

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

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

    【讨论】:

    • 谢谢@Bela。抱歉查看过时的文档。但我仍然有几个疑问。 “如果 B 收到一条 SUSPECT(A) 消息,它知道它需要在坐标 (A) 崩溃时接管。” - 这意味着 B 成为协调者,然后 B 将使用 VERIFY_SUSPECT 并最终从集群中排除 A 并将新视图 {B,C,D} 发布给成员。是这样吗?但是在那种情况下,如果发现使用VERIFY_SUSPECT后,A还活着,那么协调器会发生什么?
    • 我也可以问一个与此相关的问题。如果 B 也崩溃了怎么办?如果成员列表像 A、B、C、D... 并且当前协调员和几个下一个候选人同时崩溃,系统会如何运行?提前致谢,
    • 下一行将接管:如果 A 和 B 都崩溃,C 将成为新的协调器。
    猜你喜欢
    • 2017-09-17
    • 1970-01-01
    • 2016-06-08
    • 1970-01-01
    • 1970-01-01
    • 2010-09-23
    • 2012-12-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多