Redis的主从复制的原因,Redis虽然读取写入的速度都比较快,但是也会产生读压力特别大的情况。为了分担读的压力,Redis支持主从复制,Redis的主从结构可以采用一主多从或者级联的机构,Redis可以根据是否全量分成全量同步和增量同步。
什么叫做单点故障?例如系统瘫痪,系统断电之类的。
如何解决系单点故障?使用高可用,一主多从进行读写分离。通常会使用到三主六从的集群架构。
全量同步?Redis在全量复制的时候一般发生在slave初始化阶段,这时候Slave将master上的所有数据都赋值一份。具体的步骤:1.从服务器去连接主服务器,发生SYNC命令。2.主服务器收到SYNC命令后,开始执行BGSAVE命令生成RDB文件并且使用缓冲区记录写的命令。3.主服务器BGSAVE执行完后,向所有的服务器发生快照文件,记录写的命令。4.发生快照丢弃旧数据,载入收到的数据。5.主服务器快照发送完毕后开始向服务器发送写命令。6.从服务器完成载入的命令,开始接受命令,并执行来自主服务器缓冲区的写命令。
增量同步?Redis增量复制是指SLAVE初始化后开始正常的工作主服务器发生的写操作同步到从服务器的过程。增量复制的过程主要是从主服务器执行的每一个写命令就会向服务器发送相同的写命令,从服务器接收并且执行命令。
Redis主从同步的策略?主从服务器刚刚连接的时候,进行全量的同步。全同步结束后,进行增量同步。如果有需要的话,SLAVE在任何的时候都可以发起增量同步,如果不成功要求从机进行全量同步。