Redis Sentinel
作用:Sentinel多个节点会完成Redis的监控以及故障转移的处理,然后通知客户端。
客户端不直接连接Redis服务,而连接Redis Sentinel。在Redis Sentinel中记录master节点,Sentinel对所有master 与 slave 进行监控,Sentinel可以监控多套master-slave通过master-name配置标识。
故障转移流程:
- 多个Sentinel发现并确认master有问题具体数量在配置中配置
- 选举出一个Sentinel作为领导,选出一个slave作为master
- 通知其余slave成为新的master的slave,通知客户端主从发生的变化
- 等待老的master复活成为新master的slave
Redis Sentinel的配置
redis-01.conf(redis sentinel的默认端口是26379)
port 26379
daemonize yes # 是否以守护进程的方式启动
dir "/redis/data" # 工作目录
logfile "26379.log" # 日志
sentinel monitor master01 127.0.0.1 9000 2 # master01主节点 ip 端口 2-表示2个sentinel检测的master01故障进行故障转移
sentinel down-after-milliseconds master01 30000 # 检测超过30秒没有正常响应为master01故障
sentinel parallel-syncs master01 1 # 故障转移对老的节点对新的master进行复制是并发/串行 1-表示每次只能复制1个
sentinel failover-timeout master01 180000 # 故障转移时间