MST
星途 面试题库

面试题:MongoDB副本集优先级策略对选举结果的影响

假设一个MongoDB副本集有5个节点,节点A优先级为5,节点B优先级为3,节点C优先级为2,节点D优先级为1,节点E优先级为0。当前主节点发生故障,阐述接下来的选举过程以及可能成为主节点的节点,并说明原因。
31.6万 热度难度
数据库MongoDB

知识考点

AI 面试

面试题答案

一键面试
  1. 选举过程
    • 当主节点发生故障后,副本集进入选举阶段。具有选举权的节点(优先级不为0的节点)开始互相通信,交换心跳信息,检测到主节点故障后,优先级较高且数据最新的节点将发起选举。
    • 节点会发送投票请求给其他具有选举权的节点,其他节点会根据自身保存的数据状态以及请求节点的优先级等因素决定是否投票。
  2. 可能成为主节点的节点及原因
    • 可能成为主节点的节点:节点A。
    • 原因:在MongoDB副本集中,选举过程会优先考虑优先级较高的节点。节点A的优先级为5,是所有节点中优先级最高的。在其他条件相同(如数据同步状态等)的情况下,节点A发起选举时,更容易获得其他具有选举权节点的投票,从而成为主节点。虽然节点B、C、D也有选举权,但优先级低于节点A,因此节点A最有可能成为主节点。