redis主从复制之薪火相传与反客为主

文章介绍了Redis中的主从复制机制,包括薪火相传的概念,允许从服务器成为其他从服务器的主服务器,以减轻主服务器压力并实现数据同步。同时讨论了当主服务器宕机时,从服务器如何反客为主,成为新的主服务器。最后提到了哨兵模式作为自动故障转移的解决方案,以降低运维成本。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、薪火相传是什么

        上一个slave(redis从服务器)可以是以下slave的master(主服务器),slave同样可以接收其他slave的连接和同步请求,那么该slave作为链条中下一个的master

优点:

  • slave可以从其他的slave中同步数据,当该slave宕机恢复后,不需要再从master进行同步,直接从上一级的slave进行同步,从而有效减轻master的写压力(不需要给宕机的slave同步了,只需要专心写数据),去中心化降低风险

缺点:

  • 当上一级的slave宕机后,该宕机slave下的所有slave都无法恢复数据

2、薪火相传案例

我在一台Linux上,启动3个redis服务器,模拟一主二从,搭建步骤参考:redis主从复制

3台redis如下:

 现在修改端口为6381的redis服务,他的上级改为端口6380的从服务器:

slaveof 127.0.0.1 6380

如下:

查看当前修改的redis的主从复制信息

info replication

 如下:

 再看端口号为6380的从服务器的主从复制信息:

最后看端口为6379的master服务器:

案例结束

3、反客为主

当一个master宕机后,后面的slave可以立刻升为master,其后面的slave不用做任何修改。

在任意从服务器中,使用命令:

slaveof no one

案例:

接第2点中的案例:

3.1、把端口号为6379的master服务器宕机

shutdown

3.2 、查看端口号为6380的从服务器的主从复制信息

3.3、把端口号为6380的从服务器升级为主服务器

 slaveof no one

如下:

 反客为主总结:

  1. 该方式(slaveof no one)为反客为主的手动模式,需要我们在得知master宕机后,手动执行该命令。
  2. 可以通过运维人员或运维技术,在master宕机后,可以手动执行命令或在运维监控中执行,但是这种方式大大的提高了运维成本
  3. 因此,我们追求与一种反客为主的自动化方式,该种方式就是"哨兵模式"

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

睡竹

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值