选举机制

概念

  • 选举机制保障分区组中随时存在一个主节点。当该主节点宕机后会在其余从节点之间自动选举出主节点,进行读写操作。

  • 选举机制的核心为节点状态监测。分区组内所有的节点定期向组内其它成员发送自身状态,因此当主节点宕机后,所有的从节点间会进行投票,当时最匹配原主节点的节点即当选新的主节点。

    选举

  • 选举成功的前提条件为组内必须拥有超过半数以上的节点参与投票,否则为了避免“双活”问题(同时存在两个主节点)将无法进行选举。

  • 任何时刻如果组内成员不足半数,则当前的主节点会自动降级为从节点,同时断开当前节点的所有用户连接。

  • 当一个新的节点加入现存的分区组,或者某个故障节点重新加入分区组后,会进行数据同步

Note:

可以通过配置 SequoiaDB 的 weight 参数调整节点在分区组中选举的权重,请参考 数据库配置