redis-主从复制(sentinel)
前言 redis的持久化功能在一定程度上保证了数据的安全性,即便时服务器宕机的情况下,也可以保证数据的丢失非常少,通常,为了避免服务的单点故障,会把数据复制到多个副本放在不同的服务器上,且这些拥有数据副本的服务器可以用于处理客户端的读请求,扩展整体的性能,下面将介绍redis的主从复制。 1,主从复制概述 redis的复制功能是支持多个服务器之间的数据同步。被复制的服务器称为主服务器(master),对服务器进行复制操作的为从服务器(slave),主服务器master可以进行读写操作,当发生写操作的时候自动将数据同步到从服务器,而从服务器一般是只读的,并接收master同步过来的数据,一个master可以有多个slave,而一个slave只能由一个master。 主从复制的过程: 1,从节点执行slaveof命令; 2,从节点只是保存了slavef命令中主节点的信息,并没有立即发起复制; 3,从节点内部的定时任务发现由主节点的信息,开始使用socket连接主节点; 4,连接建立成功后,发送ping命令,希望得到pong命令响应,否则会进行重连; 5,如果主节点设置了权限,那么就需要进行权限验证;如果验证失败,复制终止; 6,权限验证通过后,进行数据同步,这是耗时最长的操作,主节点将把所有的数据全部发送给从节点; 7,当主节点把当前的数据同步给从节点后,便完成了复制的建立流程