两张流程图带你学会SpringBoot整合Redis主从复制、哨兵模式并搞懂其工作流程

简介: 两张流程图带你学会SpringBoot整合Redis主从复制、哨兵模式并搞懂其工作流程

🌟整合说明


架构采用单机部署一主二从三哨兵的模式,以下为节点信息和相关架构图。


节点信息


节点名称 IP地址 端口号
master 49.233.48.98 6379
slave1 49.233.48.98 6380
slave2 49.233.48.98 6381
sentinel1 49.233.48.98 26379
sentinel2 49.233.48.98 26380
sentinel3 49.233.48.98 26381


主从复制+哨兵模式架构图

fb985db0af22431b96c16ebb70c51526.png

工作流程图:

c45628a529ef402abc8607c48441bdd0.jpg

工作流程描述


  1. 创建主节点:首先,配置一个Redis实例作为主节点,它负责接收写操作(如添加、更新、删除等),将数据同步到从节点,并向哨兵节点报告自己的状态。
  2. 启动从节点:在其他Redis实例上配置为从节点,它们将复制主节点的数据,并处理读操作。从节点会连接到主节点,并通过发送SYNC命令来进行全量数据同步。
  3. 哨兵节点监控:启动一组哨兵节点,它们会定期检查主节点和从节点的状态。哨兵节点会发送PING命令来检测节点是否可达,并获取节点信息。
  4. 主节点故障检测:当哨兵节点无法与主节点通信时,会将主节点标记为下线,并开始选举过程。选举的目的是从从节点中选择一个新的主节点。
  5. 选举新的主节点:哨兵发起选举,通过选举算法(如投票机制)从从节点中选出一个新的主节点,然后将其他从节点切换到新的主节点。
  6. 更新配置信息:一旦新的主节点选举成功,哨兵会将新的主节点信息通知给所有从节点,并更新他们的配置。
  7. 重新同步数据:当从节点收到新的主节点信息后,它会断开与之前主节点的连接,并与新的主节点重新建立连接。从节点通过发送部分重同步命令(PSYNC)来获取丢失的数据,并与主节点保持同步。
  8. 故障转移完成:一旦从节点成功与新的主节点同步完成,故障转移过程就完成了。现在,系统中有一个新的主节点和一些从节点,它们继续处理读写请求,并保持主从复制+哨兵模式的工作状态。

🌟主从复制搭建


有关于主从复制的搭建,可以前往专栏《Redis从头学》中的【Redis从头学-12】Redis主从复制和读写分离的多种部署方式解析(普通方式、Docker搭建方式、Docker-Compose搭建方式)。此文为大家解读了什么是主从复制和读写分离并提供了三种主从搭建的方式。


🌟哨兵模式搭建


有关于哨兵模式搭建,可以前往专栏《Redis从头学》中的【Redis从头学-13】Redis哨兵模式解析以及搭建指南。此文为大家解读了什么是哨兵模式并提供了搭建哨兵模式的全过程以及易错点。


🌟整合Redis


有关于SpringBoot整合Redis可以查看本专栏上一篇文章一张思维导图带你学会SpringBoot整合Redis。此文章提供了整合Redis的全过程。


🌟application.properties


此文章基于上一篇文章一张思维导图带你学会SpringBoot整合Redis进行修改。无需配置host和port。


#spring.redis.host=49.233.48.98
#spring.redis.port=6379
spring.redis.password=daencode@top
#哨兵监控的主节点名称
spring.redis.sentinel.master=mymaster
#哨兵节点信息
spring.redis.sentinel.nodes=49.233.48.98:26379,49.233.48.98:26380,49.233.48.98:26381
spring.redis.sentinel.password=daencode@top

🌟写在最后


有关于两张流程图带你学会SpringBoot整合Redis主从复制、哨兵模式并搞懂其工作流程到此就结束了。感谢大家的阅读,希望大家在评论区对此部分内容散发讨论,便于学到更多的知识。


目录
相关文章
|
6月前
|
NoSQL Java 网络安全
SpringBoot启动时连接Redis报错:ERR This instance has cluster support disabled - 如何解决?
通过以上步骤一般可以解决由于配置不匹配造成的连接错误。在调试问题时,一定要确保服务端和客户端的Redis配置保持同步一致。这能够确保SpringBoot应用顺利连接到正确配置的Redis服务,无论是单机模式还是集群模式。
576 5
|
6月前
|
XML JSON Java
【SpringBoot(三)】从请求到响应再到视图解析与模板引擎,本文带你领悟SpringBoot请求接收全流程!
Springboot专栏第三章,从请求的接收到视图解析,再到thymeleaf模板引擎的使用! 本文带你领悟SpringBoot请求接收到渲染的使用全流程!
500 3
|
7月前
|
存储 监控 NoSQL
Redis高可用架构全解析:从主从复制到集群方案
Redis高可用确保服务持续稳定,避免单点故障导致数据丢失或业务中断。通过主从复制实现数据冗余,哨兵模式支持自动故障转移,Cluster集群则提供分布式数据分片与水平扩展,三者层层递进,保障读写分离、容灾切换与大规模数据存储,构建高性能、高可靠的Redis架构体系。
|
7月前
|
NoSQL Java 调度
分布式锁与分布式锁使用 Redis 和 Spring Boot 进行调度锁(不带 ShedLock)
分布式锁是分布式系统中用于同步多节点访问共享资源的机制,防止并发操作带来的冲突。本文介绍了基于Spring Boot和Redis实现分布式锁的技术方案,涵盖锁的获取与释放、Redis配置、服务调度及多实例运行等内容,通过Docker Compose搭建环境,验证了锁的有效性与互斥特性。
644 0
分布式锁与分布式锁使用 Redis 和 Spring Boot 进行调度锁(不带 ShedLock)
|
7月前
|
存储 运维 NoSQL
Redis集群模式
Redis集群是一种分布式存储方案,旨在解决数据存储容量不足的问题。它通过将数据分片存储在多个节点上,实现数据的横向扩展。常见的分片算法包括哈希求余、一致性哈希和哈希槽分区。其中,Redis采用哈希槽分区算法,将数据均匀分配到16384个槽位中,每个分片负责一部分槽位。当节点故障时,集群通过故障检测和主从切换机制,确保服务的高可用性。集群还支持自动的数据迁移和负载均衡,保障系统稳定运行。
|
7月前
|
存储 负载均衡 NoSQL
Redis主从复制
在分布式系统中,为解决单点故障和提升性能,常采用Redis主从复制架构。通过将数据复制到多个从节点,实现读写分离、负载均衡及高可用性,同时支持多种拓扑结构以适应不同场景需求。
|
9月前
|
负载均衡 NoSQL Redis
【赵渝强老师】Redis的主从复制集群
Redis主从复制是指将一台Redis服务器的数据复制到其他Redis服务器,实现数据热备份、故障恢复、负载均衡及高可用架构的基础。主节点负责写操作,从节点同步数据并可提供读服务,提升并发处理能力。
273 5
|
10月前
|
机器学习/深度学习 数据采集 人机交互
springboot+redis互联网医院智能导诊系统源码,基于医疗大模型、知识图谱、人机交互方式实现
智能导诊系统基于医疗大模型、知识图谱与人机交互技术,解决患者“知症不知病”“挂错号”等问题。通过多模态交互(语音、文字、图片等)收集病情信息,结合医学知识图谱和深度推理,实现精准的科室推荐和分级诊疗引导。系统支持基于规则模板和数据模型两种开发原理:前者依赖人工设定症状-科室规则,后者通过机器学习或深度学习分析问诊数据。其特点包括快速病情收集、智能病症关联推理、最佳就医推荐、分级导流以及与院内平台联动,提升患者就诊效率和服务体验。技术架构采用 SpringBoot+Redis+MyBatis Plus+MySQL+RocketMQ,确保高效稳定运行。
733 0
|
存储 SQL 消息中间件
springboot整合redis
redis是一个支持key-value的数据库,数据全部在内存中处理,在在一定时间间隔中将数据固化到磁盘。因为是内存操作,所以速度特别快。(这里我们主要介绍redis作为缓存使用)
345 0
springboot整合redis
|
存储 缓存 NoSQL
SpringBoot整合Redis
SpringBoot整合Redis
730 0
SpringBoot整合Redis

热门文章

最新文章

下一篇
开通oss服务