主从复制介绍
作者:互联网
1. 什么是主从复制
表示: 部署多个redis服务器,多个redis服务器可以不在同一台机器上,将一台Reids服务器中的数据,复制到其他多台服务器身上,其中被复制的服务器是主节点, 复制的服务器是从节点
注意:复制是单向的 , 是从主节点复制到从节点, 一个主节点可以有多个从节点,一个从节点后面也可以有很多从节点,整体是一个树形
2. 主从复制的好处
- 数据备份: 主节点中数据,都回被复制到从节点中,就算主节点数据丢失了,从节点也会有备份的数据
- 故障恢复: 当主节点挂了之后,因为从节点有所有备份的数据, 可以使用从节点对外提供服务,对于客户端来讲无感知
- 读写分离: 单机的时候, 主节点又负责写有负责读, 此时我们有主节点和从节点,我们主节点可以只负责写,从节点只负责读,此时在一些写少读多的系统, 我们多个从节点进行负载均衡大大提升系统的并发量
主从复制原理(流程)
主从复制的流程分为3个阶段
第一阶段: 准备阶段(连接阶段)
注意点
1. 发送ping指令 如果不返回pong时 可能是另外两种结果
第一种:超时
第二种:其他结果
不管那种结果,此时socket不可用,则会断开,并且重连
2. 输入密码不正确, 此时socket会断开,并尝试重连
第二阶段: 同步阶段(复制阶段)
复制阶段分类:
全量复制: 表示主从除此连接,此时从节点把主机中的所有内容全部复制过来,如果数据量大,这个过程是一个重型的过程
部分复制: 当全量复制完成之后,在进行写的操作,此时从节点只需要复制新写的内容即可,并不需要重新再全部复制一遍,另外一个场景,当进行网络故障时.
第三阶段: 命令传递阶段
数据同步阶段完成后,主从节点进入命令传播阶段,在这个阶段 主节点将自己执行的写命令发送给从节点, 从节点接收命令并执行,从而保证主从节点数据的一致性
注意: 命令传播是异步的过程,即主节点发送写命令后并不会等待从节点的回复, 此时网络延迟,主从节点之间的网络状况,主节点写命令的执行频率,都会影响数据的一致性
主从复制问题
主从复制无法保证高可用,当主节点宕机之后,从节点不会自动变成主节点对外提供服务.此时需要人工参与.如果人工参与,则会增加人力成本,并且人工操作,容易产生错误.
使用Redis哨兵模式解决问题
添加链接描述
标签:主从复制,介绍,复制,阶段,此时,服务器,节点 来源: https://blog.csdn.net/Aokiji_KUZAN/article/details/122850647