Redis主从复制(含哨兵模式)

主从复制

Redis根据配置和策略进行主从复制,其中Master以写为主,Slave以读为主。

配置策略

一主二仆

一个Master,多个Slave,Slave从Master复制信息,用于读数据,写操作只能在Master上执行。

薪火相传

一个Master,多个Slave会造成中心化严重,Master要一直把消息传给Slave,影响效率,因此可以Slave也可以跟随Slave,,即Master将消息传给Slave1,Slave1将消息传给Slave2。

反客为主

当Master挂掉了,Slave回原地等待,Master恢复后,Slave会继续跟随。

但这种情况不好(可能Master一直恢复不了)。因此可以手动设置Slave为新的Master,其他Slave跟随这个新Master。

哨兵模式

前面的反客为主,得手动操作。可以增加哨兵模式,即监控Redis集群,如果Master挂掉了,会采用Slave投票过半机制选出新的Master,其余Slave会自动跟随。

需要仔细了解投票机制,如果投票相平则选举失败,会再次投票。

这里的选举方式,与Kafka的选举很相似。

复制原理

slave启动后,连接到master,会向其发送一个sync命令,master收到命令后,会将整个数据传送给slave,完成同步(全量复制)。

全量复制:slave收到数据文件后,将其加载到内存中。

增量复制:master将新的修改命令传送给slave,完成同步。

扫描二维码关注公众号,回复: 10128476 查看本文章

slave一开始的同步,都是全量复制,后面开始增量复制。

猜你喜欢

转载自www.cnblogs.com/chenshaowei/p/12561249.html