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槽位

相关推荐
2的n次方_6 分钟前
Runtime 内存管理深化:推理批处理下的内存复用与生命周期精细控制
c语言·网络·架构
AllData公司负责人15 分钟前
AllData数据中台-数据同步平台【Seatunnel-Web】整库同步MySQL同步Doris能力演示
大数据·数据库·mysql·开源
加油,小猿猿22 分钟前
Java开发日志-双数据库事务问题
java·开发语言·数据库
山岚的运维笔记1 小时前
SQL Server笔记 -- 第20章:TRY/CATCH
java·数据库·笔记·sql·microsoft·sqlserver
Gain_chance1 小时前
33-学习笔记尚硅谷数仓搭建-DWS层交易域用户粒度订单表分析及设计代码
数据库·数据仓库·hive·笔记·学习·datagrip
前端市界1 小时前
用 React 手搓一个 3D 翻页书籍组件,呼吸海浪式翻页,交互体验带感!
前端·架构·github
文艺理科生1 小时前
Nginx 路径映射深度解析:从本地开发到生产交付的底层哲学
前端·后端·架构
清风拂山岗 明月照大江1 小时前
Redis笔记汇总
java·redis·缓存
C澒1 小时前
Vue 项目渐进式迁移 React:组件库接入与跨框架协同技术方案
前端·vue.js·react.js·架构·系统架构
未来之窗软件服务1 小时前
计算机等级考试—高频英语词汇—东方仙盟练气期
数据库·计算机软考·东方仙盟