Redis的主从架构

主从模式

全量同步

  1. 首先主从同步过程第一步 会先比较replication id 判断是否是第一次同步
  2. 假设为第一次同步 那么就会 启动bgsave异步生成RDB 同时fork子进程记录生成期间的新数据
  3. 发送RDB给从节点 清空本地数据写入RDB

增量同步

  1. 对比ReplicationID不同因此选择增量同步
  2. 在Reply_Buffer中有一个环形缓冲区 以及Offset偏移量
  3. 对比完主从直接的偏移量差距后就可以选择性的获取需要增量同步的新数据
  4. 同时有一个问题 :如果超出了环形缓冲区 那么就需要进行一次全量同步在进行增量同步

哨兵模式

哨兵的主要作用:

监控、选主、通知

哨兵选选举过程:

  1. 首先通过心跳机制发Ping 如果没响应就会主观认为主节点下线
  2. 向其他Sentinel请求 进行半数选举 如果超过半数Sentinel认为节点下线就为客观下线
  3. 优先选举数据最全最合适的节点为主节点

集群模式

Cluster分片集群

分片集群将所有节点的存储分为 16384****个槽位

所有要存储的数据根据Key值进行 Hash****映射后分到具体的槽位

具体的映射算法:

Redis Cluster 是 Redis 实现"分布式+高可用"的集群方式,而 Sentinel 是在"单主结构"下提供"高可用"的方案。Cluster 更强,但也更复杂;Sentinel 更简单,但扩展性有限。

如果cluster出现故障 会自动选举主节点 故障转移 并且重新分配Hash槽位

相关推荐
乌恩大侠16 分钟前
基站正在成为 AI 计算节点:NVIDIA Aerial 推动 RAN 架构重构
人工智能·重构·架构
小短腿的代码世界20 分钟前
Qt国际化深度解析:从源码到企业级多语言实践
java·数据库·qt
Ting-yu25 分钟前
Spring AI Alibaba零基础速成(6) ---- 向量化
数据库·人工智能
ElevenS_it18825 分钟前
Redis监控实战:内存使用+命中率+连接数三类核心指标接入Zabbix+分级告警完整配置方案
运维·网络·redis·mybatis·zabbix
dishugj41 分钟前
HANA性能分析视图
数据库
码点滴1 小时前
CRI-O选型与容器运行时标准
开发语言·人工智能·架构·kubernetes·cri-o
l1t1 小时前
DeepSeek总结的在 DuckDB 中试驾 Lance 数据湖仓格式
数据库·人工智能·机器学习·duckdb
PaperData2 小时前
2017-2025年中国10米分辨率土地利用/覆盖栅格数据(from Esri LULC)
数据库·数据分析·学习方法
小二·2 小时前
LangGraph 多智能体实战:从零搭建 Multi-Agent 协作系统
java·开发语言·数据库
羑悻的小杀马特2 小时前
工业时序数据选型的几点思考:从存储成本与查询延迟说起
数据库·人工智能