分布式-redis主从复制架构

文章目录

是什么

主从复制是redis最简单的集群模式,主要是为了解决单点故障问题 ,所以将数据复制多个副本到从节点中,这样即使有一台服务器宕机,其他服务仍可提供服务。主从模式中,包含一个主节点(Master)和多个从节点(Slave),一般主节点负责读写操作,从节点负责读操作,当主节点发生故障,将一个从节点升级为主节点,实现故障转移(需要人工手动操作)。

优点:简单易用,适用于读多写少的场景

缺点:

  1. 不具备故障自动转移的能力,没有办法做容错和恢复
  2. 只有主节点进行写操作,无法负载均衡
  3. 存储能力受到单机限制
java 复制代码
// 主从数据库数据同步过程
1.全量复制:【当主从服务器刚建立连接的时候,进行全量数据同步】
	a、首先从服务器连接到主服务器,发送psync命令进行数据全量同步(Redis2.8之前是sync命令)
	b、主服务器收到psync命令之后,执行bgsave命令生成RDB快照文件发送给从服务器
	c、从服务器收到RDB快照文件后,清空内存旧数据,将接收到的数据写入磁盘

2、增量复制:【全量复制结束后,进行增量复制】
	a、主服务器每执行一个写命令就会向从服务器发送相同的写命令
	b、从服务器接收并执行收到的写命令。

优点:
  (1)数据热备份:主从复制实现了数据的热备份,是持久化之外的一种数据冗余方式。
  (2)故障恢复:  如果master宕掉了,可以手动提升一个新的master,实现故障转移。
  (3)负载均衡:  可以轻易实现横向扩展,实现读写分离,一个master用于写,多个slave 用于分摊读的压力
  
缺点:
  (1)网络延迟:由于所有的写操作都是先在Master上操作,然后同步更新到Slave上,所以有一定的延迟
  (2)如果master宕掉了,普通主从模式无法自动切换master,必须使用哨兵模式

常见架构

总体来说,主数据库Master以写为主,从数据库Slave以读为主,整体负责读写分离、容灾恢复。

case1:一主二仆【中心化架构】 slaveof 新主库IP 新主库端口

case2:薪火相传【去中心化架构】 slaveof 新主库IP 新主库端口

case3:反客为主 slaveof no one

一主二仆【中心化架构,为主】

master主机日志

slave从机日志

常见问题

1、slave1、slave2是从头开始复制还是从切入点开始复制?比如从k4进来,那之前的123是否也可以复制?

答:从头开始复制;123也可以复制

2、从机是否可以写?set可否?

答:从机不可写,不可set,主机可写

3、主机shutdown后情况如何?从机是上位还是原地待命

答:从机还是原地待命(咸鱼翻身,还是咸鱼)

4、主机又回来了后,主机新增记录,从机还能否顺利复制?

答:能

5、其中一台从机down后情况如何?依照原有它能跟上大部队吗?

答**:不能跟上,每次与master断开之后,都需要重新连接**,除非你配置进redis.conf文件(具体位置:redis.conf搜寻#### REPLICATION ####)

薪火相传【去中心化架构】

上一个Slave可以是下一个slave的Master,Slave同样可以接收其他 slaves的连接和同步请求,那么该slave作为了链条中下一个的master, 可以有效减轻master的写压力(奴隶的奴隶还是奴隶),中途变更转向会清除之前的数据,重新建立拷贝最新的

slaveof 新主库IP 新主库端口

case3:反客为主

使当前数据库停止与其他数据库的同步,转成主数据库,形成一个中心点

SLAVEOF no one

相关推荐
熊猫钓鱼>_>5 小时前
大型复杂远程AI Agent应用:从架构困局到进化突围
人工智能·ai·架构·开源·大模型·llm·agent
A-Jie-Y5 小时前
JAVA设计模式-抽象工厂模式
java·设计模式
@insist1235 小时前
信息安全工程师-密码学专题(下):构建可信网络空间的核心机制
java·大数据·密码学·软考·信息安全工程师·软件水平考试
摇滚侠6 小时前
Java 零基础全套视频教程,面向对象(高级),笔记 105-120
java·开发语言·笔记
叶落阁主6 小时前
Spring Boot 4 实战:Jackson 2.x 升级到 3.x 踩坑全记录
java·后端·架构
布吉岛的石头6 小时前
Java 中高级面试:JVM 内存模型 + GC 算法高频题总结
java·jvm·面试
小张小张爱学习6 小时前
Kafka面试题
分布式·kafka
V+zmm101346 小时前
毕业设计:基于neo4j的知识图谱的智能问答系统(源码)
spring boot·毕业设计·知识图谱·课程设计·neo4j·智能问答·毕设
Jump 不二6 小时前
揭秘腾讯 Ima 知识库架构:从开源 WeKnora 看 RAG + 知识图谱落地实践
人工智能·语言模型·架构·机器人·开源·知识图谱
鹏子训6 小时前
六个典型热门AI记忆架构对比:Mem0,Letta,MemoryLake,ZenBrain,MIA,MSA 助你快速选型
人工智能·架构·长短时记忆网络