Redis从入门到精通-Redis-主从复制-薪火相传和反客为主
一、薪火相传
上一个Slave可以是下一个slave的Master,Slave同样可以接收其他slaves的连接和同步请求,那么该slave作为了链条中下一个的master, 可以有效减轻master的写压力,去中心化降低风险。
用命令:
slaveof <ip><port>
中途变更转向:会清除之前的数据,重新建立拷贝最新的
风险是一旦某个slave宕机,后面的slave都没法备份
主机挂了,从机还是从机,无法写数据了
从机挂了,会变成独立的主机,然后重新用命令成为从机,和主从原理类似
演示:6379为主机,6380为从机,6380连接主机6379,6381为从机连接6380,发现6379的从机只有一台,6380还是显示为从机,且有从机6381。
主机会先将数据同步给6380,6380再将数据同步给6381,这个就是薪火相传
二、反客为主
当一个master宕机后,后面的slave可以立刻升为master,其后面的slave不用做任何修改。
用将从机变为主机:
slaveof no one
演示:停掉主机
演示:用命令将6380变成主机
缺点:当主机宕机后,还是要操作员手动将从机变为主机,很不方便,哨兵模式可以很好的解决这一问题