1、哨兵机制

Redis的哨兵机制就是解决我们以上主从复制存在缺陷(选举问题),解决问题保证我们的Redis高可用,实现自动化故障发现与故障转移。

2、哨兵机制的原理

1. 哨兵机制每隔10s检测一次主节点,只需要配置监听我们的主节点,就可以获取当前整个Redis集群的环境列表,采用info 命令形式。
2. 哨兵不建议是单机的,最好每个Redis节点都需要配置哨兵监听。
3. 哨兵集群原理是如何:多个哨兵都执行同一个主的master节点,订阅到相同都通道,有新的哨兵加入都会向通道中发送自己服务的信息,该通道的订阅者可以发现新哨兵的加入,随后相互建立长连接。
4. Master节点如果宕机,如何实现选举策略? 
  单个哨兵会向主的master节点发送ping的命令,如果master节点没有及时的响应,单个哨兵会认为该master节点为“主观不可用状态”会发送给其他都哨兵确认该Master节点是否
不可用,
当前确认的哨兵节点数>=quorum(可配置),会实现重新选举。

3、哨兵机制配置

cp /usr/redis-5.0.6/sentinel.conf    /usr/redis/bin
cd  /usr/redis/bin
vi sentinel.conf
daemonize yes 
sentinel monitor mymaster ip port 2(哨兵确认数量)
sentinel auth-pass mymaster 123456
启动哨兵 ./redis-sentinel ./sentinel.conf

注意:将主节点的redis.cof文件中配置上masterauth 123456,ip不需要

4、注意

当哨兵机制重新选举主节点后,原来的主节点无法同步现在主节点的数据,需要重新修改配置,让原来的主节点作为现在主节点的从节点。(删)

或者在主节点的redis.cof文件中配置上masterauth 123456,ip不需要,这样哨兵机制执行时原来的主节点就可以同步现在主节点的数据了。

5、缺陷

  1)Redis的哨兵集群模式,每个节点都保存全量的同步数据,存在冗余的数据。

  2)只能允许有一个主的节点,属于中心化集群

  3)需要引入去中心化(分片)集群方式,将数据均摊到每个阶段存放。

posted on 2022-10-11 22:01  梧桐i  阅读(266)  评论(0)    收藏  举报