Redis哨兵机制
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会动态获取最新的主从节点信息。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)