redis基础(五)主从复制

1.redis的复制

2.如何实现redis复制

(1)修改配置文件细节操作

(2)一主二从:

 当主机挂了,从机原地待命

当从机挂了,重启之后需要重新执行slaveof,除非将配置写进配置文件中

主机负责写入,而从机只能读取,不能写入(读写分离)

 (3)去中心化——薪火相传

(4)反客为主

3.复制原理

4.哨兵模式(以一主二从为例)

 (1)如何实现哨兵模式

启动哨兵:(可以同时监控多个master,需要在sentinel.conf中配置)

如果之前的master回来,就会变成新master的slave;不会产生冲突!

(2)哨兵的实现原理

主要包括三个定时任务:

①每隔10s,每个Sentinel节点会向主节点和从节点发送info命令获取最新的拓扑结构:

 --通过向主节点执行info,获取从节点信息,这也是为什么Sentinel节点不需要显示配置监控节点

-- 当有新的从节点加入时将被立即感知

-- 节点不可达或者故障转移后,可以通过info命令更新节点拓扑结构。

②每隔2秒,每个Sentinel节点回向redis数据节点的_sentinel_:hello频道上发送该sentinel对于主节点的判断以及当前sentinel节点的信息,同时每个sentinel也会订阅该频道,来了解其它sentinel节点以及他们对主节点的判断,所以这个定时任务可以完成以下两个工作:

——发现新的Sentinel节点:通过订阅主节点_sentinel_:hello了解其他的Sentinel信息,如果是新加入的Sentinel节点,将该Sentinel节点信息保存起来,并与该Sentinel节点创建连接。

——Sentinel节点之间交换主节点的状态,作为后面客观下线以及领导者选举的依据。

③每隔1秒,每隔Sentinel节点回向主节点、从节点、其余Sentinel节点发送一条ping命令做心跳检测,来确定这些节点当前是否可达。

猜你喜欢

转载自blog.csdn.net/qq_27862335/article/details/81502605