增量数据同步Redis2.8版本之前 , 是不支持增量数据同步的 , 只支持全量同步 。 增量数据同步是指slave节点初始化完成后 , master节点执行的写命令同步到slave节点的过程 。 该过程比较简单 , master节点每执行一个写命令后就会将该命令发送给slave节点执行 , 从而达到数据同步的目的 。
但有一点需要注意 , 当增量复制过程中发生了异常导致同步失败时 , 是要支持断点续传的 , 也就是在异常恢复之后 , 是要支持从上次断掉的地方继续同步的 , 而不是全量数据同步 。 这就需要在master节点和slave节点分别维护一个复制偏移量(offset) , 代表master向slave节点同步的字节数 。 master节点每次向slave节点发送N个字节后 , master节点的offset增加N;slave节点每次接收到master节点发送过来的N个字节后 , slave节点的offset增加N 。 master节点和slave节点的这两个偏移量分别保存在master_repl_offset和slave_repl_offset这两个字段中 。
主从模式搭建
- 首先准备三台虚拟机 , 我使用的是VMware+CentOS7 , 可以参考我之前的文章虚拟机环境搭建(VMware Workstation14 + centos7)和VMware+CentOS7 网络及静态IP配置?安装好虚拟机环境 , 每台虚拟机上装好Redis;
- 两台slave节点上配置master节点信息 , 有三种方式:
(2) 启动命令后加上:--replicaof master节点IP master节点端口;
【VMware|Redis高可用方案—主从(masterslave)架构】(3) slave节点启动后 , 直接执行命令:replicaof master节点IP master节点端口 。
这里我们使用常用的配置文件的方式配置:
3. 重启3台redis服务 , 查看slave节点的启动日志 , 可以看到master的节点信息.
4. 验证主从结构是否可用 。
(1) 首先 , master和slave上的数据都是空的;
(2) master节点上添加一条数据 , 然后去slave节点上发现已经把这条数据同步了过来 。
(3) slave节点上执行写命令会报错:
(4) 在master节点上执行:info replication命令可以看到自己的slave节点信息:
至此 , 说明我们的主从架构已经搭建成功了 。
主从模式的好处主从模式的优点有很多 , 下面列举几个最明显的好处:
- 数据备份 。 同样的数据在多个节点都存一份 , 起到了备份数据的作用 。
- 故障恢复 。 当master节点发生故障后 , 可以选择一个slave节点作为master节点继续提供服务 。
- 删除|一文读懂Redis内存淘汰策略
- iPhoneSE|Redis:在windows环境安装Redis
- var|Redis:在windows环境安装Redis
- VMware|堪比小型“发电机”?入门级150W户外电源,私人移动小型发电站
- 节点|统信正式推出高可用集群部署管理软件统信有备(UHA)
- CPU|Redis 7.0 Multi Part AOF 的设计和实现
- Linux|VMware安装Linux请注意:NAT全能,CentOS慎用,快照无忧
- |一、Linux编译安装Redis
- 多云|VMware永葆青春的秘诀,从虚拟化、私有云到多云管理的进化
- VMware|为什么要从vmware切换到kvm?