V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
shangzhanyu
V2EX  ›  问与答

zookeeper follower 是如何知道 leader 节点挂了的?

  •  
  •   shangzhanyu · 2020-09-27 10:53:58 +08:00 · 1644 次点击
    这是一个创建于 1500 天前的主题,其中的信息可能已经有所发展或是发生改变。
    如题,看书只看到说 leader 在挂掉时会进行 leader 选举,那么 follower 是如何感知到 leader 挂掉了?
    4 条回复    2020-09-27 11:34:50 +08:00
    seanseek
        1
    seanseek  
       2020-09-27 11:06:51 +08:00
    不如试试搭个集群
    shangzhanyu
        2
    shangzhanyu  
    OP
       2020-09-27 11:10:48 +08:00
    @seanseek 默默打开了 docker
    singerll
        3
    singerll  
       2020-09-27 11:23:54 +08:00 via Android
    zookeeper 不知道,但一般都是探测端口或者保持自己的心跳协议
    wqlin
        4
    wqlin  
       2020-09-27 11:34:50 +08:00
    一般都是发送心跳包探活;
    如果指定时间内 follower 没有收到心跳包(不确定 zk 是 leader 向 follower 发心跳,还是 follower 向 leader 发心跳),就认为 leader 挂了,开始重新选举
    当然现实情况可能是 leader 没挂,只是由于网络网络被分开了,这种情况下还需要额外的机制保证不会脑裂(比如新选举出来的 leader 就是作为唯一 leader,老 leader 加入集群之后也变成 follower )
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1062 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 19:29 · PVG 03:29 · LAX 11:29 · JFK 14:29
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.