Redis高可用(哨兵机制)

2019-08-01  本文已影响0人  华木公子

一 主从切换

master和slave的主从切换,保证了服务的高可用;

二 哨兵(sential)机制

sential本身也需要部署,并且也是集群的方式部署,然后和redis集群一起协同工作。
哨兵至少部署三个实例,
因为哨兵采用的是多数选举机制,比如3个节点,多数是2;5个节点,多数是3.。。。
当多数哨兵都认为master挂了,可以进行故障转移,才能进行转移。
如果只部署了2个节点,而2个节点的多数还是2。假设一个哨兵节点挂了,那么剩下的一个是无法进行故障转移判断的。
所以经典的哨兵部署是3个节点,gurom=2;(节点数和gurom比较,取大者)

三 数据丢失问题和解决方案

  1. 主备切换时,会发生数据丢失。
  1. 集群脑裂,导致数据丢失

四 哨兵推举slave的机制

  1. 排除与master连接断开最久的slave;
  2. 按照slave优先级(配置中指定)来排序,取最高优先级;
    3.同一优先级,则看哪个offset做多,即同步数据最多的作为master;
  3. 如果都一样,那么就看哪个slave 的 run id 最小,就取那个。
上一篇 下一篇

猜你喜欢

热点阅读