分布式的高可用方案都会考虑容灾, 那么redis高可用是如何做到故障自动切换的?
1 增加主客观下线判定。
对于主客观下线判定,当某个哨兵节点与主节点连接超时,则将其标志位主观下线,然后开始将主节点下线这个信息与其他哨兵节点同步,其他哨兵节点根据自身与主节点的通信情况,做出赞成或者否决票。
如果赞成票数达到哨兵节点配置的quorum数量,则主节点的状态就由主观状态转变为客观下线。客观下线后,就标志着即将做进行选主操作。
2 将redis哨兵设置成集群模式。
哨兵选主
节点选主
当其中redis的主导自动切换的时候,需要一个leader节点来执行。关于哨兵选主leader的节点过程很简单的,在某个哨兵节点发现redis主节点不可用后开始拉票希望自己来主导主从自动切换。哨兵节点获得半数以上的票数,就可以成功称为哨兵leader。但是关于服务节点将从节点提升为主节点,这个选主操作略有不同:
从节点晋升主节点:首先筛选掉网络不好的,即与前主断连次数过多的。再看优先级别高的、其次是的复制进度最完全的、最后看机器性能
标签:leader,选主,redis,哨兵,算法,一致性,Raft,下线,节点 From: https://www.cnblogs.com/hx943685213/p/17470072.html