redis的复制
1. 是什么
其实就是常说的主从复制,主机数据更新后根据配置和策略,自动同步到备机的Master/slaver机制,Master以写为主,Slave以读为主
redis中replication文档
2. 能干嘛
2.1 读写分离
2.2 容灾恢复
3. 怎么玩
3.1 配从(库)不配主(库)
配置的时候配置的是从库,主库不需要进行配置,从库监听主库即可
3.2 从库配置:slaveof 主库IP 主库端口
3.3 修改配置文件细节操作
端口,名称等的修改
3.4 常用3招
-
- 三台redis均为空

- 三台redis均为空
-
- 查看当前redis角色

- 查看当前redis角色
3.4.1 一主二仆
-
- 6379为主,6380和6381为从;主机设置k1 k2 k3,然后设置6380和6381为从机,主机设置v4,从机获取v4,正常;从机获取k1 k2 k3是否正常?

- 6379为主,6380和6381为从;主机设置k1 k2 k3,然后设置6380和6381为从机,主机设置v4,从机获取v4,正常;从机获取k1 k2 k3是否正常?
-
- 获取k1 k2

正常获取k1 k2 说明从机在明确身份的时候会将主机的所有数据都进行备份
- 获取k1 k2
-
- 查看三台机器的主从身份:

- 查看三台机器的主从身份:
-
- 主机正常设置k5,从机能正常获取,主机设置k6,从机能否进行设置v6操作?

- 主机正常设置k5,从机能正常获取,主机设置k6,从机能否进行设置v6操作?
-
- 从机写入k7,失败

- 从机写入k7,失败
-
- 主机故障情况:

从机保持原有状态等待
- 主机故障情况:
-
- 主机故障后重新启动,保持原有的主从模式,设置k7,从机能正常获取k7

- 主机故障后重新启动,保持原有的主从模式,设置k7,从机能正常获取k7
-
- 从机故障,主机写入新值k8,从机2正常

从机6380重新启动为master,无法获取k8的值

- 从机故障,主机写入新值k8,从机2正常
-
- 从机每次断开需要重新指定主机,除非配置进配置文件,重新配置后正常

- 从机每次断开需要重新指定主机,除非配置进配置文件,重新配置后正常
3.4.2 薪火相传(去中心化)
-
- 恢复一主二仆

- 恢复一主二仆
-
- 6379为6380的master,6380为6379的slave,为6381的master

- 6379为6380的master,6380为6379的slave,为6381的master
-
- 薪火相传模式主机写入k9,从机正常获取k9

- 薪火相传模式主机写入k9,从机正常获取k9
3.4.3 反客为主
-
- 恢复一主二仆

- 恢复一主二仆
-
- 主机挂了后从机进行手动更新,成为master,另一台从机手动更改为成为master的从机的从机

- 主机挂了后从机进行手动更新,成为master,另一台从机手动更改为成为master的从机的从机
-
- 主机重启后不在主从体系中,两个从机成为新的主从体系

- 主机重启后不在主从体系中,两个从机成为新的主从体系
4. 复制原理
-
- slave启动成功连接到master后会发送一个sync命令
-
- Master接到命令启动后台的存盘进程,同时收集所有接收到的用于修改数据集命令,
在后台进程执行完毕之后,master将传送整个数据文件到slave,以完成一次完全同步
- Master接到命令启动后台的存盘进程,同时收集所有接收到的用于修改数据集命令,
-
- 全量复制:而slave服务在接收到数据库文件数据后,将其存盘并加载到内存中。
-
- 增量复制:Master继续将新的所有收集到的修改命令依次传给slave,完成同步
-
- 但是只要是重新连接master,一次完全同步(全量复制)将被自动执行
5. 哨兵模式(反客为主的自动版)
5.1 是什么
哨兵模式相当于反客为主的自动版
5.2 怎么玩
5.2.1 调整结构,6379带着80、81

5.2.2 自定义的/myredis目录下新建sentinel.conf文件,名字绝不能错

5.2.3 配置哨兵,填写内容

5.2.4 启动哨兵

5.2.5 正常主从演示
5.2.6 原有的master挂了

5.2.7 投票新选(哨兵进行)
5.2.8 重新主从继续开工,info replication查查看

5.2.9 问题:如果之前的master重启回来,会不会双master冲突?
新的master重新启动后,成为刚刚选出来的master的从机
5.2.10 哨兵模式启动后会把主从信息写进对应的redis的配置文件

5.3 一组sentinel能同时监控多个Master
6. 复制的缺点
复制延时:
由于所有的写操作都是先在Master上操作,然后同步更新到Slave上,所以从Master同步到Slave机器有一定的延迟,当系统很繁忙的时候,延迟问题会更加严重,Slave机器数量的增加也会使这个问题更加严重。
本文详细介绍了Redis的主从复制机制,包括其概念、应用场景如读写分离与容灾恢复,配置方法及常见操作,复制原理,以及哨兵模式下的自动化故障转移过程。
&spm=1001.2101.3001.5002&articleId=127969465&d=1&t=3&u=2895d7bfc9b847e8b1219a86d639f9d3)
2217

被折叠的 条评论
为什么被折叠?



