影响选举的因素和条件
节点成员每2秒向对方发送一次心跳,如何在10s内没有返回就标记不可访问。
优先级的设置
优先级的设置会影响选举,优先级是0的成员不能被选举成主库,不参加选举,只要当前主数据库具有最高优先级值,或者副本组中最新的oplog条目在10秒内没有更高优先级的辅助数据库,则副本集不举行选举
如果较高优先级的成员在当前主节点的最新操作日志条目的10秒钟内赶上来,则该集合将举行一次选举,以便为较高优先级的节点提供成为主节点的机会。
optime是成员从oplog应用的最后一个操作的时间戳。 除非副本集成员具有集合中任何可见成员的最高(即最新)运行时间,否则它不能成为主要副本。
除非副本集成员可以连接到副本集中的大多数成员,否则它不能成为主副本。 出于选举目的,多数是指投票总数,而不是成员总数
网络分区的问题
如果主被分到少数的集群,那么他会检测是少数集群,就把自己降级到次级节点,多数集群中会进行一次选举,选主节点
参加选举
每个成员有1票,第一个获得最多投票的成为主
优先级高的会成为主