redis_5_主从复制(读写分离)

1、什么是主从复制:

主机数据更新后,根据配置和策略,自动同步到备机的master/slaver机制,master以写为主,slave以读为主。

2、主从复制的作用:

  1. 读写分离
  2. 容灾备份

3、分类:

  1. 一主二仆
  2. 薪火相传
  3. 反客为主
  4. 哨兵模式

4、 准备工作:

配置三个不同端口的服务(修改端口、rdb文件名字、aof文件名字等),然后分别打开三个各自的客户端(redis-cli.exe默认连接的是6379的服务,后面加-p 端口号即可连接不同的服务):

这里写图片描述

查看机器信息info replication

参数说明
(1)role:角色,master和slave两种,master为主机,slave为从机- - -目前三个都是主机。
(2)connected_slaves:从机个数,有几个从机跟着本机(当本机是主机的时候有)。
(3)master_link_status:up表示连接着主机,down表示主机挂了。

5、一主二仆:

步骤一:给80设置两个值,81和82中是没有的(等会有用)

这里写图片描述

步骤二:将81和82变成从机跟随80 - - -形成一主二仆模式

命令slaveof 主机ip 端口号- - -跟着主机混,本身降级为从机,从机会将主机所有数据备份,无论是变成从机之前还是之后的主机数据,都会备份。

这里写图片描述

步骤三:检测是否能取到k1和k2 - - -能取到说明第一次复制是全量复制的。

这里写图片描述

步骤四:从机不具有写的功能- - -读写分离就是只有主机能写,从机只能读

这里写图片描述

步骤五:假如主机挂了,从机是原地待命呢,还是自己变成本身的主机了?

这里写图片描述

结论:主机挂了之后,从机是原地待命,状态从up转换为down。

步骤六:重启主机 - - - 依然是从机的老大,主机赋值,从机依然能拿到

这里写图片描述

这里写图片描述

这里写图片描述

步骤七:从机挂了,连接回来时什么身份???

这里写图片描述

结论
(1)从机挂了回来之后,身份变成了主机,但是原来的数据还在,因为有rdb和aof文件的存在。再slaveof主机又能续接上。
(2)从机每次关闭服务之后,都需要重新执行从机的配置命令,如果不愿意重新执行,那就配到从机的配置文件中,让从机每次重启,都去配置文件中去读。

测试slaveof配置在配置文件中,看重启从机会不会还是从机

(1)再次关闭81,然后打开81的配置文件,配置slaveof命令 - - - 配从不配主

这里写图片描述

(2)重启81服务,查看身份 - - - 从机重启后身份就是slave,说明配置生效了

这里写图片描述

这里写图片描述

这里写图片描述

6、 薪火相传:

注意

  • 上一个slave可以是下一个slave的master,slave同样可以接受其他slaves的连接和同步请求,那么该slave作为了链条中下一个的master,可以有效减轻master的压力。
  • 中途变更转向:会清楚之前的数据,重新建立拷贝最新的。
  • slaveof 新主库ip 新主库端口

这里写图片描述

步骤一:重启82服务 - - - 由以上结论可知,82重启之后身份是主机

这里写图片描述

步骤二:将82设置为81的从机,即82跟随81 - - - 形成薪火相传模式

这里写图片描述

注意:虽然81是82的主机,但是81的主身份还是从机,所以依然不能进行写操作

这里写图片描述

7、反客为主:一主二仆模式中,主机挂了,从机就原地待命,反客为主则是主机挂了之后,从机变成主机

这里写图片描述

步骤1:将主机80关闭服务,81反客为主变成主机,然后82跟随81

这里写图片描述

步骤2:原来的主机80重启之后,什么都不是了,只是本机的主机,并不是81和82的主机

这里写图片描述

8、哨兵模式:(我自己电脑不知道为什么启动不了哨兵,只能拿公司服务器测试)

步骤1:先完成一主二仆模式

这里写图片描述

步骤二:配置三个哨兵文件,文件名字为:sentinel.conf、sentinel26479.conf、sentinel26579.conf

这里写图片描述

这里写图片描述

这里写图片描述

步骤三:开启三个哨兵服务

这里写图片描述

这里写图片描述

步骤四:关闭80主机 - - - 投票产生新主机82

这里写图片描述

步骤五:给82设值,81能否获取 ,在查看一下两个的身份,发现82确实变成了主机

这里写图片描述

这里写图片描述

步骤六:80重新连接之后,80变成了82的从机

这里写图片描述

猜你喜欢

转载自blog.csdn.net/tuesdayma/article/details/79073107