Redis 学习笔记 #Redis哨兵集群

Sentinel 集群实现主从集群的自动故障恢复(监控集群状态)

Sentinel 的作用

监控:Sentinel 不断检查master与slave是否正常工作

自动故障恢复:若 master 故障则 Sentinel 将一个 slave 提升为 master,master 恢复后也以新 master 为主

通知:当集群发生故障转移时,Sentinel将最新信息推送给Redis客户端(RedisClient)

Sentinel 的实现

基于心跳机制检测服务状态,每隔1s向集群的每个实例发送 ping 命令

主观下线:某 Sentinel 节点实例未在规定时间响应

客观下线:超过一定数量(quorum)的 Sentinel 都认为该节点主观下线

注:quorum 值最好超过 Sentinel 实例数量的一半

选举新的master

  1. 判断 slave 节点与 master 节点断开时间长短,若超过指定值(down-after-milliseconds*10)则排除
  2. 判断 slave-priority 值 值越小优先级越高 0则排除
  3. 判断 slave 节点的 offset 值 值越大数据越新优先级越高
  4. 判断 slave 节点的运行 id 值越小优先级越高

故障转移

  1. Sentinel 给备选的 slave 发送 slaveof no one 命令
  2. Sentinel 给其他 slave 发送广播 slaveof 新master的 IP地址与端口号
  3. Sentinel 将故障节点标记为 slave 强制修改节点配置为 slaveof 新master的 IP地址与端口号
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值