新的主节点是怎样被挑选出来的?

  1. 过滤掉不符合以下条件的节点:

    • 被判定为 "不健康"(主观下线或断线)的节点。
    • 在过去的5秒内没有回复过Sentinel节点的ping请求。
    • 与主节点失联的时间超过down-after-milliseconds乘以10秒。
    1. 从已经连接的从节点列表中选择具有最高从节点优先级(slave-priority)的节点,如果存在则返回该节点,否则继续到下一步。
    2. 从已经连接的从节点列表中选择具有最大复制偏移量的节点,表示该节点的复制最为完整,如果存在则返回该节点,否则继续到下一步。
    3. 从已经连接的从节点列表中选择具有最小runid的节点,runid是一个唯一标识符,表示节点的运行ID,如果存在则返回该节点。

    标签: java, Java面试题, Redis, Java问题合集, Java编程, Java问题精选, Java常见问题, Redis面试题