Redis哨兵(sentinel)模式

        Redis的的主从模式中我们了解到当master服务器宕机后slave服务器并不会自动接管master服务器而是继续等待master服务器的开启,或者需要手工将slave服务器通过执行slaveof no one 命令才能转变为master服务器,而Redis的哨兵模式就可以解决这个问题。

        哨兵模式就是监控所有master和slave服务器,当master服务器异常则会从slave服务器中选举一台作为master服务器同时其他salve服务器也将会被重新挂在到新的master服务器上,而当原来的master服务器恢复后也将作为slave服务器挂载在新的master服务器下。client客户端在首次访问Redis服务时其实访问的是Redis哨兵(sentinel),sentinel会将自己监控的Redis实例的master节点信息返回给client客户端,后续客户端就会直接访问master节点。

哨兵模式的选举规则

        1. 选择优先级最高的服务器,在redis.conf配置文件中 slave-priority 值越小优先级越高。

        2. 当优先级一样时,获取原主机的数据量最全的服务器。

        3. 当1和2都一样时选择redis实例启动时runid最小的服务器。

Redis哨兵模式配置

这里我用的是一台服务器以不同的端口作为多台服务器。

1. 在Redis配置文件目录下创建一个 sentinel.conf 文件,在配置文件中添加下列配置。

sentinel monitor myredis 127.0.0.1 6379 1   

myredis为自己对哨兵取名  

127.0.0.1 6379 哨兵需要监控的主服务器

1 代表当主服务器宕机,选举时需要几台服务器通过选举,一般这个值需大于主从服务器数量的一半 ,这里我们只有3台服务器(1主2从的架构)

2. 开启哨兵

redis-sentinel  sentinel.conf

3. 把6379这台master服务器 shutdown后,sentinel出现以下结果。

 如图可以看出sentinel的执行过程,监控到6379宕机后,选举了6380作为master服务器,并将6381挂在到了6380上。

4. 查看6380和6381这两台服务器的信息。

5. 将原6379重新启动,发现6379挂载在了6380上。

以上演示了Redis哨兵模式的过程,在实际应用中一般都是多台服务器(一主n从的架构),同时sentinel也可以部署集群以确保哨兵的绝对有效。 

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值