Redis集群——主从复制

主从复制的原理

从服务器向主服务器发送SYNC(同步)请求。主服务器收到这个请求之后,(这个时候就不是单线程啦)开始生成RDB(快照文件),并且使用缓冲区记录之后所有的写操作命令。快照文件生成完毕之后,主服务器,向从服务器发送快照文件,这期间也继续记录执行过的写命令。从服务器接收快照文件完毕之后,丢弃旧数据,载入快照文件,主服务器此时向从服务器发送缓冲区中的写命令。

从服务器载入快照完毕之后,一方面开始执行主服务器后续的命令,一方面执行来自主服务器缓冲区的命令。

最后初始化完成了,主服务器每次收到写命令,向从服务器发送相同的写命令,从服务器执行。

 

优点

从服务器帮主服务器分担了很多读操作的负载。写操作依旧由主服务器完成,再进行同步。

同时,从服务器也可以接收其他从服务器的连接和同步请求,也是为主服务器分忧。

 

缺点

没有自动容错和恢复功能。主机或者从机宕机都会造成前端部分的读写请求失败,需要手动重启或者更换前端的IP。

Redis在线扩容比较困难。

 

2024.6.23

1.读写分离,数据备份,无法进行故障转移

 

2024.6.26

1.如果从节点保存的runid与主节点现在的runid不同,说明从节点在断线前同步的Redis节点并不是当前的主节点,只能进行全量复制

2.通过info Server命令,可以查看节点的服务器运行ID(runid)

3.复制偏移量(offset)代表主节点向从节点传递的字节数

4.复制积压缓冲区的作用是备份主节点最近发送给从节点的数据

5.主从复制实现了数据的热备份,是持久化之外的一种数据冗余方式

6.存储能力受到单机的限制

posted @ 2021-12-07 23:46  sellingpear  阅读(80)  评论(0)    收藏  举报