赞
踩
哨兵巡查监控后台master主机是否故障,如果故障了根据投票数自动将某一个从库转换为新主库,从而继续提供服务,俗称无人值守运维。
SDown主观下线
SDown是单个sentinel自己主观上检测到的关于master的状态,从sentinel角度来看,如果发送了PING心跳后,在sentinel down-after-milliseconds
给定的毫秒数内没有收到合法的回复,就达到了SDOWN的条件。
ODown客观下线
ODown需要一定数量的sentinel,多个哨兵达成一致意见才能认为一个master客观上已经宕机了。因为有些时候某个sentinel节点因为自身问题无法连接master,master本身没有问题,这就需要多个sentinel一致认为该master有问题,才能进行下一步操作,保证了公平性和高可用。
3.3、选举领导者哨兵
当主节点被判断为客观下线后,各个哨兵节点会先选举出一个领导者哨兵节点,并由这领导者节点进行故障迁移。选举领导者哨兵的方式是Raft算法。
3.4 领导者哨兵推动故障切换流程并选出新master
选出新master的规则为,在剩余slave节点健康的前提下,
run ID
,最小的成为新master 之后领导者哨兵使用slave of no one
将选出的slave节点提升为master,领导者哨兵向其他slave发送命令,使剩余slave成为新的master节点的slave。
当老master重新上线后,领导者哨兵会让原来的master降级为slave并恢复正常工作。
Raft算法的本质是先到先得,在一轮选举当中,哨兵A向哨兵B发送成为领导者的申请,如果B没有同意过其他哨兵,则同意A成为领导者。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。