第八章:Redis Sentinel

第八章:Redis Sentinel

主从复制高可用存在的问题

  • 手动故障转移
    • 需要手动挑选一个slave成为新的master,然后分别执行slaveof no one和slaveof new master的操作
  • 写能力和存储能力受到限制

Redis Sentinel的架构

Redis Sentinel分为若干个节点:完成对Redis的故障判断和故障转移的过程

Redis Sentinel故障转移

一个Redis Sentinel实例监控多套master-slave

Redis Sentinel配置

配置Redis主节点

  • 启动:redis-server redis-7000.conf
  • 配置:
    • port 7000
    • daemonize yes
    • pidfile /var/run/redis-7000.pid
    • logfile "7000.log"
    • dir "/opt/soft/redis/data/"

配置redis从节点

  • 启动:
    • redis-server redis-7001.conf
    • redis-server redis-7002.conf
  • 配置:
    • slave-1
      • port 7001
      • daemonize yes
      • pidfile /var/run/redis-7001.pid
      • logfile "7001.log"
      • dir "/opt/soft/redis/data/"
      • slaveof 127.0.0.1 7000
    • slave-2
      • port 7002
      • daemonize yes
      • pidfile /var/run/redis-7002.pid
      • logfile "7002.log"
      • dir "/opt/soft/redis/data/"
      • slaveof 127.0.0.1 7000

Sentinel主要配置

  • 第4条命令:意思是监控127.0.0.1上端口为7000的master节点,并且当有2个sentinel认为master出现故障,就进行故障转移
  • 第5条命令:在30s内,sentinel不能与master正常联系,就认为发生了故障
  • 第6条命令:parallel-syncs指定同时能有几个slave复制master
  • 第7条命令:故障转移时间

Sentinel在运行时,会自动通过配置文件中配置的监控的master节点,执行infoapplication命令,找到master节点的slave节点,并把这些信息重写到Sentinel的配置文件中。

posted @ 2020-05-27 12:58  scnb  阅读(73)  评论(0)    收藏  举报