Redis哨兵模式详解

Redis哨兵模式详解

1、作用

在主从复制集群当中,使用哨兵模式,可以对 master/slave 进行监控,以实现自动管理。

有哪些自动管理:

​ ①监控主从复合集群各服务器状态,如正在运行:up,宕机:down

​ ②master 宕机后推选新的 master

​ ③slave 宕机重启后自动恢复 slave 身份

图示:

2、判断宕机的依据

①主观下线

当有一台哨兵服务器检测到下线即为主观下线

注意:它只针对 slave 做主观下线

②客观下线

当一定数量(这里一定数量是在配置文件中指定的)的哨兵判定某个节点服务器宕机,则为客观下线。

注意:客观下线只针对 master 不对 slave 作客观下线

③timeout 超时检查

当哨兵检测到某节点服务器宕机下线后,并不会立马做出反应判断下线,而是要等待一定的时间。

④心跳检查

哨兵是怎样知道服务器下线的,它不断地向服务器发送数据包,发送完后等待服务器回复,如果正常收到回复信息,则处于正常连接中,反之故障。

3、代码演示

①配置哨兵

以配置一台哨兵为例。

[1]创建配置文件

因为启动哨兵与启动 Redis 服务器相似,需要一个配置文件,所以首先我们创建一个 sentinel.conf 配置文件。并进入编辑模式,按以下格式书写配置内容。

[2]配置内容
格式sentinel monitor 为主机命名 主机IP 主机端口号 将主机判定为下线时需要Sentinel同意的数量
例子sentinel monitor mymaster 127.0.0.1 7000 1

②启动三个 Redis 服务

其中端口号7000为 master,端口号8000、9000的为 slave

③启动哨兵

/usr/local/redis/bin/redis-server /usr/local/cluster-redis/sentinel.conf --sentinel

④启动效果

启动后我们可以看到如下信息,端口号为7000的为master,并管理着两个slave。

⑤测试自动管理

对象下线后重新上线
slave(主观下线)哨兵检测到下线刚上线为master
随后变为slave
master(客观下线)
情况一:
slave A:投票给 slave B
slave B:投票给 slave A
平票,继续投票
情况二:
slave A:投票给自己
slave B:投票给自己
平票,继续投票
情况三:
slave A:投票给自己
slave B:投票给 slave A
slave A当选 master
情况四:
slave A:投票给 slave B
slave B:投票给自己
slave B当选 master
变成slave,跟从新的master
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值