Redis 数据同步机制--主从模式
开篇问题:
1.主从模式是什么
2.主从模式解决什么问题
大家都知道 Redis是具有高可靠性的 k-v数据库,那么什么是高可用性呢,主要有两点,1⃣️是尽量减少数据丢失,这个持久化中 AOF 和 RDB的已经对此做了保证,2⃣️是服务尽量少中断,这个就是今天我们要学习的主从 模式,增加副本冗余量来保证服务尽可能少中断。
Redis 提供了主从库模式,以保证数据副本的一致性,主从库读写分离。

主从库进行第一次同步步骤:

主从级联模式
一次从库同步主库的整个过程中,我们可以分析出来,主要影响主库性能的操作为 生成 RDB文件(fork 瞬间会造成阻塞) 和 传输 RDB文件。如果从库数据很多,那主库大部分压力来源于自身的 fork 和网络带宽。于是诞生出 “主-从-从”模式。

主从库间网络断开
当主从库断开连接后,主库会把断连期间收到的写操作命令,写入 replication buffer,同时也会把这些操作命令写入到 repl_backlog_buffer 这个缓冲区。repl_backlog_buffer 是一个环形缓冲区,主库会记录自己写到的位置,从库则会记录自己已经读到的位置,若在增量复制阶段, repl_backlog_size 参数配置过小,导致从库的复制进度赶不上主库,偏移量已经超过环形的总量,从库则需要进行全量复制来保证数据的一致性。