Redis哨兵机制

当master节点宕机,Sentinel机制会选一个slave作为新的master,并通知RedisClient新的集群配置,保证服务连续。Sentinel监控集群状态,自动处理故障恢复,实现读写操作的平稳过渡。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

slave节点宕机恢复后可以找master节点同步数据,那master节点宕机了怎么办呢?

1.哨兵的作用和原理

在这里插入图片描述

当master节点发生故障后,哨兵机制会选出一个slave作为新的master。这个时候RedisClient所连接的master和slave地址和端口发生了变化,如果RedisClient中的master和slave地址是写死的。发生master切换后,就无法正常连接或提供服务了。

因此,RedisClient会从Sentinel集群中获取redis集群中的master和slave地址。当master故障切换后,Sentinel会将变化后新的master和slave地址推给RedisClient,以此保障对客户端持续提供稳定的服务(master进行写操作,slave进行读操作)

服务状态监控

在这里插入图片描述

选举新master

在这里插入图片描述

总结

在这里插入图片描述

2.搭建哨兵集群

每个sentinel的配置文件:
在这里插入图片描述

3. RedisTemplate的哨兵模式

在这里插入图片描述
在这里插入图片描述

然后通过调用接口,进行redis的读和写操作:

通过查看打印日志,可以发现,当进行读操作的时候,连接的是redis集群中的slave节点,进行写操作时,连接的是master节点。

当redis集群中master节点宕机了,Sentinel会从在线的slave中选出新的master。当之前宕机的master节点再次上线,会成为新master的slave节点。而且整个过程中,redis集群中节点角色的变化会被sentinel监控到,Sentinel会动态获取最新的主从节点信息。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

kyrielx

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值