redisCluster之主观下线与客观下线

主观下线:

      

       节点之间会定期的执行ping/pong消息来证明节点之间的连通性,若节点一向节点二发送ping消息之后收到pong消息,那么节点一将会更新最后一次与节点二的通信时间,若没有收到pong消息,那么节点一与节点二之间的链接将会断开,之后节点一再次执行ping消息,若与节点二之间的最后通信时间超过指定的时间,那么节点二将被节点一标记为主观下线。

客观下线:

       节点之间通信会携带一些必要的消息,其中就包含标记某节点为客观下线状态,节点中都包含了相关节点状态的链表信息,若节点的客观下线的记录超过半数,那么尝试执行客观下线。

尝试客观下线流程:

下线主节点之后,进行故障恢复:

首先是判断该主节点的slave节点是否具有当主节点的资格,若该节点与主节点断开连接超过一定的时间那么就没有资格

之后根据从节点与主节点之间的偏移量进行延迟选举,保证偏移量最小的slave节点获得更多的票

扫描二维码关注公众号,回复: 3165970 查看本文章

选出节点之后,从节点执行slave none one 变成主节点,从节点将主节点的槽移交给自己完成故障恢复。

猜你喜欢

转载自blog.csdn.net/qq_32182461/article/details/82556295