master宕机后应该怎么办?
选择一个salve继续当作master节点,以此实现高可用性
Redis哨兵的作用
简单说就是监控整个集群 对集群进行故障恢复
Redis哨兵的三个功能
1.监控:会不断检查master和salve是否按预期工作
2.自动故障恢复:如果maser故障,会将一个salve提升为master,当故障实例恢复后也是以新的master为主
3.通知:当集群发生故障转移时,会将最新信息推送给Redis的客户端
监控的实现机制
基于心跳机制检测服务状态,每隔1秒向集群的每个实例发送ping命令,会有两种结果
1.主观下线:如果某个哨兵节点发现某实例未在规定时间内响应,则认为该实例主观下线(主观下线是指单个哨兵节点认为redis下线了)
2.客观下线:如果超过指定数量的sentinel(哨兵)认为该实例主观下线,则该实例客观下线
如何选举新的master?
如何实现故障转移
1.告诉要成为master的salve节点,现在开始自己就是master节点
2.发布通告,告知所有的salve节点master换成了一个新的节点,让这些salve成为新的master的从节点
3.将原本出现故障的master节点标记成salve节点,恢复后自动成为新的master节点的从节点