面试宝典系列-读《深刻学习Redis(4):哨兵》概要

原来连接:深刻学习Redis(4):哨兵html

哨兵的功能:redis

  • 监控(Monitoring):哨兵会不断地检查主节点和从节点是否运做正常。
  • 自动故障转移(Automatic failover):当主节点不能正常工做时,哨兵会开始自动故障转移操做,它会将失效主节点的其中一个从节点升级为新的主节点,并让其余从节点改成复制新的主节点。
  • 配置提供者(Configuration provider):客户端在初始化时,经过链接哨兵来得到当前Redis服务的主节点地址。
  • 通知(Notification):哨兵能够将故障转移的结果发送给客户端。

典型的哨兵架构图以下所示:架构

它由两部分组成,哨兵节点和数据节点:ide

  • 哨兵节点:哨兵系统由一个或多个哨兵节点组成,哨兵节点是特殊的redis节点,不存储数据。
  • 数据节点:主节点和从节点都是数据节点。

部署:

哨兵系统:包含1个主节点、2个从节点和3个哨兵节点学习

主从节点配置:spa

主节点:
port 6379
daemonize yes
logfile "6379.log"
dbfilename "dump-6379.rdb"

从节点1:
port 6380
daemonize yes
logfile "6380.log"
dbfilename "dump-6380.rdb"
slaveof 192.168.92.128 6379

从节点2:
port 6381
daemonize yes
logfile "6381.log"
dbfilename "dump-6381.rdb"
slaveof 192.168.92.128 6379

启动主从节点命令相同:code

redis-server redis-6379.conf
redis-server redis-6380.conf
redis-server redis-6381.conf

哨兵节点配置:server

port 26379
daemonize yes
logfile "26379.log"
sentinel monitor mymaster 192.168.92.128 6379 2

其中,sentinel monitor mymaster 192.168.92.128 6379 2 配置的含义是:该哨兵节点监控192.168.92.128:6379这个主节点,该主节点的名称是mymaster,最后的2的含义与主节点的故障断定有关:至少须要2个哨兵节点赞成,才能断定主节点故障并进行故障转移。htm

启动哨兵节点两种方式:blog

redis-sentinel sentinel-26379.conf
redis-server sentinel-26379.conf --sentinel

哨兵系统的搭建过程,有几点须要注意:

  • 哨兵系统中的主从节点,与普通的主从节点并无什么区别,故障发现和转移是由哨兵来控制和完成的。
  • 哨兵节点本质上是redis节点。
  • 每一个哨兵节点,只须要配置监控主节点,即可以自动发现其余的哨兵节点和从节点。
  • 在哨兵节点启动和故障转移阶段,各个节点的配置文件会被重写(config rewrite)。
  • 一个哨兵能够监控多个主节点,经过配置多条sentinel monitor便可实现。

相关文章
相关标签/搜索