Redis哨兵机制

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

1. 哨兵的作用和原理

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

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

服务状态监控

image

选举新master

image

故障转移

image

总结

image

2. 搭建哨兵集群

每个sentinel的配置文件:
image

3. RedisTemplate的哨兵模式

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

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

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

posted @   paopaolx  阅读(139)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
点击右上角即可分享
微信分享提示