文章概述
1. 什么是哨兵模式
哨兵模式是一种特殊的模式,首先Redis提供了哨兵的命令,哨兵是一个独立的进程,作为进程,它会独立运行。其原理是哨兵通过发送命令,等待Redis服务器响应,从而监控运行的多个Redis实例
2. redis哨兵集群(功能、作用) 简要回答
- 监控(Monitoring):哨兵(sentinel)会不断地检查你的master和slave是否运作正常
- 提醒(Notification):当被监控的某个redis出问题时,哨兵可以通过API向管理员或者其他应用程序发送通知
- 自动故障迁移(Automatic failover):当一个master不能正常工作时,哨兵(sentinel)会开始一次自动故障迁移操作,它会将失效master的其中一个slave升级为新的master
3. redis重点阐述容灾机制(为什么需要哨兵)
当某个master服务下线时,所有的slave将无法同步数据,这对于redis集群就是灾难性的,此时哨兵自动将该master下的某个slave服务升级为master服务器替代已下线的master服务继续处理请求,这时灾难的局面就被扭转了回来,这就是容灾机制
4. redis哨兵-原理
5. redis-sentinel集群
1、sentinel作用
1. 当用Redis做主从方案时,假如master宕机,Redis本身无法自动进行主备切换
2. 而Redis-sentinel本身也是一个独立运行的进程,它能监控多个master-slave集群,发现master宕机后能进行自动切换。
2、sentinel原理
1. sentinel负责持续监控主节点的健康,当主节挂掉时,自动选择一个最优的从节点切换成主节点
2. 从节点来连接集群时会首先连接sentinel,通过sentinel来查询主节点的地址
3. 当主节点发生故障时,sentinel会将最新的主节点地址告诉客户端,可以实现无需重启自动切换redis
3、Sentinel支持集群
1. 只使用单个sentinel进程来监控redis集群是不可靠的,当sentinel进程宕掉后sentinel本身也有单点问题
2