一、Redis主从复制原理
1、原理:
当启动一个Slave进程后,它会向Master发送一个SYNC命令,请求同步连接。无论是第一次连接还是重新连接,Master节点都会启动一个后台进程,将数据快照保存到数据文件中,同时Master会记录所有修改数据的命令并将其缓存在数据文件中。
后台进程完成缓存操作后,Master就会发送数据文件给Slave,Slave将数据文件保存到硬盘上,然后将其加载到内存中。接着Master就会把所有修改数据的命令发送给Slave。
若Slave出现故障导致宕机,那么恢复正常后会自动重新连接。Master收到Slave的连接请求后,将其完整的数据文件发送给Slave。如果Master同时收到多个Slave发来的同步请求,那么Master只会在后台启动一个进程保存数据文件,然后将其发送给所有的Slave,确保所有的Slave数据完整一致。
主从节点间复制的大体步骤:
① 保存主节点信息(rdb/aof/混合)
② 主从建立socket连接
③ 发送ping命令
④ 权限验证
⑤ 同步数据集
⑥ 命令持续复制
2、主从结构类别:
一主一从、一主多从:
可以配置为读写分离(主节点负责写、从节点负责读),提高集群性能。
树状结构:
相当于引入了中间层,可以有效降低主节点负载和需要传送给从节点的数据量。避免主节点挂载多个从节点时,对主节点的性能干扰。
3、主从复制模

本文详细介绍了Redis的三种集群模式:主从复制、哨兵模式和分布式集群。主从复制实现了读写分离,但故障处理需要手动干预;哨兵模式能自动故障转移,但配置复杂;分布式集群通过槽分区实现数据分布,提供高可用性和扩展性,但对批量操作和事务支持有限。
最低0.47元/天 解锁文章
4821

被折叠的 条评论
为什么被折叠?



