一、哨兵
Sentinel哨兵是redis官方提供的高可用方案,可以用它来监控多个Redis服务实例的运行情况。Redis Sentinel是一个运行在特殊模式下的Redis服务器。Redis Sentinel是在多个Sentinel进程环境下互相协作工作的。
Sentinel系统有三个主要任务:
监控: Sentinel不断的检查主服务和从服务器是否按照预期正常工作。
提醒:被监控的Redis出现问题时,Sentinel会通知管理员或其他应用程序。
自动故障转移:监控的主Redis不能正常工作,Sentinel会开始进行故障迁移操作。
哨兵奇数的原因1:哨兵 sentine通常是奇数,因为sentinel会采用心跳的机制监测主Redis,当一个哨兵 ping 主Redis后没有返回pong的响应,则投票1,第二个哨兵如果也没有返回pong,则投票1,此时不管第三个哨兵的投票结果如何,哨兵则会认为该主Redis已停止工作,从而将从Redis设置主Redis,并把另外一台从Redis关联到新的主Redis上;
投标的结果是少数服从多数,因此哨兵数量必须是奇数个。
redis-cli -h 127.0.0.1 -p 6384 用于连接指定IP的指定端口redis客户端。
模拟一台服务器 3个哨兵;
1、复制哨兵配置文件
2、分别配置各文件的port端口号及要监控的 主redis端口号
三个配置文件的监控均为6384的主redis。
3、然后分别开启3个哨兵文件
到此完成三个哨兵模式的配置。此时将自动监控 6384端口的主redis。 当6384不可用时,哨兵会自动投票,选举性能高的redis来升级为主,其他两个redis自动变成从redis,并自动关联新的主redis。