redis的主从复制、读写分离master/slave 的详细使用解读过程
redis的复制
redis的复制也就是我们所说的主从复制,主机数据更新后根据配置和策略,自动同步到备机的master/slaver机制,Master以写为主,Slave以读为主。
本次在Linux上使用的redis版本为:5.0.3
[root@localhost etc]# redis-server --version
Redis server v=5.0.3 sha=00000000:0 malloc=jemalloc-5.1.0 bits=64 build=afabdecde61000c3
本次用一个redis开启三个服务来模拟多台机器之间主从复制 ,在Linux测试中一共开了4个终端窗口。
工作中使用原则:
1.配从(库)不配主(库)
2.从库配置----》slaveof 主库IP主库端口
2.1 每次从库与master断开之后,都需要重新连接,除非你配置进redis.conf文件
2.2 info replication 用于查看redis信息
3.修改配置文件细节操作。
3.1 拷贝多个redis.conf文件
[root@localhost etc]# cd /usr/local/redis/etc
[root@localhost etc]# cp redis_bak.conf redis6379.conf
[root@localhost etc]# cp redis_bak.conf redis6380.conf
[root@localhost etc]# cp redis_bak.conf redis6381.conf
[root@localhost etc]# ls
redis6379.conf redis6380.conf redis6381.conf redis_bak.conf
开始修改 redis6379.conf redis6380.conf redis6381.conf 三个配置文件中的内容,此次以修改redis6379.conf为例,redis6380.conf redis6381.conf 的修改方式类似。
[root@localhost etc]# vim redis6379.conf
3.2 开启daemonize yes

3.3 pid文件名字

3.4 指定端口

3.5 log文件名字

3.6 dump.rdb名字

待三个配置文件都配置好后。
4.常用3招。
一主二仆:
一个master,多个slave
薪火相传:
上一个Slave可以是下一个slave的Master,Slave同样可以接收其他slaves的连接和同步请求,那么该slave作为了链条中下一个的master,可以有效减轻master的写压力
中途变更转向:会清除前的数据,重新建立拷贝最新的
Slaveof 新主库IP新主库端口
反客为主:
主机发生故障,从机上来接替主机


情况一:一个master,多个slave





情况二:薪火相传——链条式


情况三:反客为主
SLAVEOF no one 使当前数据库停止与其他数据库的同步,转成单独的主数据库


复制原理
- Slave启动成功连接到master后会发送一个sync命令Master接到命令启动后台的存盘进程,同时收集所有接收到的用于修改数据集命令,在后台进程执行完毕之后,master将传送整个数据文件到slave,以完成一次完全同步
- 全量复制:而slave服务在接收到数据库文件数据后,将其存盘并加载到内存中。
- 增量复制:Master继续将新的所有收集到的修改命令依次传给slave,完成同步
- 但是只要是重新连接master,一次完全同步(全量复制)将被自动执行
哨兵模式(反客为主的自动版——主库故障,自动投票在从库中选出一个主库)
整体步骤:
- 调整结构,6379带着6380、6381
- 自定义的/redis/etc录下新建sentinel.conf文件,名字绝不能错
- sentinel monitor 被监控数据库名字(自己起名字)127.0.0.1 6379 1
- 上面最后一个数字1,表示主机挂掉后salve投票看让谁接替成为主机,得票数多的成为主机
- 启动哨兵
- 正常主从演示
- 原有的master挂了
- 投票新选
- 重新主从继续开工,info replication查查看

通过指令 touch 【文件名】 创建一个名为 sentinel.conf 的配置文件。



注意:哨兵模式检测到故障需要几秒钟才能检测到


结论:由于所有的写操作都是先在Master上操作,然后同步更新到Slave上,所以从Master同步到Slave机器有一定的延迟,当系统很繁忙的时候,延迟问题会更加严重,Slave机器数量的增加也会使这个问题更加严重。
更多推荐


所有评论(0)