Redis---7---复制(replica)

Redis—7—复制(replica)⭐⭐⭐

是什么

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

一句话:就是主从复制,master以写为主,Slave以读为主

当master(主)数据变化的时候,自动将新的数据异步同步到其它slave(从)数据库。

能干吗

读写分离

容灾回复

数据备份

水平扩容支撑高并发

怎么玩

配从(库)不配主(库)

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

权限细节,重要

​ master如果配置了requirepass参数,需要密码登录,那么slave就要配置masterauth来设置校验密码,否则的话master会拒绝slave的访问请求

基本操作命令

​ info replication 可以查看复制节点的主从关系和配置信息

​ replicaof 主库IP 主库端口 一般写入进redis.conf配置文件内

​ slaveof 主库IP 主库端口

​ 每次与master断开之后,都需要重新连接,除非你配置进redis.conf文件,在运行期间修改slave节点的信息,如果该数据库已经是某个主数据库的从数据库,那么会停止和原主数据库的同步关系,转而和新的主数据库同步,重新拜码头。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

​ slaveof no one 没有人是奴隶了(使当前数据库停止与其它数据库的同步,转成主数据库,自立为王)

案例演示

架构说明:一个Master两个Slave 3台虚拟机,每台都安装redis

​ 拷贝多个redis.conf文件:redis6379.conf redis6380.conf redis6381.conf

小口决:三边网络相互ping通且注意防火墙配置

防火墙开启端口:firewall-cmd --permanent --add-port=6379/tcp
				firewall-cmd --reload

​ 6379::192.168.137.132

​ 6380::192.168.137.135

​ 6381::192.168.137.136

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

​ 三大命令:主从复制:replicaof主库IP主库端口,配从不配主。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

​ 改换门庭

slaveof新主库IP 新主库端口

​ 自立为王

修改配置文件细节操作

​ redis6379.conf为例,步骤

​ 1.开启daemonize yes

​ 2.注释掉bind 127.0.0.1

​ 3.protected-mode no

​ 4.指定端口

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

​ 5.指定当前工作目录,dir

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

​ 6.pid文件名字,pidfile

​ 7.log文件名字,logfile

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

​ 8.requirepass

​ 9.dump.rdb名字+端口号

​ dbfilename

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

​ 10.aof文件,appendfilename

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

​ 11.从机访问主机的通行密码,必须

​ 从机需要配置,主机不用

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

复制原理和工作流程

常用三招
一主二仆

​ 配置完成之后,先master后两台slave依次启动

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

​ 主从关系查看

​ 日志:

​ 主机日志:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

​ 备机日志:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

​ 命令:info replication命令查看

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

主从问题演示

1,从机可以执行写命令吗
127.0.0.1:6380> set k1 k1
(error) READONLY You can't write against a read only replica.
127.0.0.1:6380> 
2,从机切入点问题
3,主机shutdown后,从机会上位吗
从机不动,原地待命,从机数据可以正常使用;等待主机重启动归来
4,主机shutdown后,重启后主从关系还在吗?从机还能否顺利复制?
主从关系还在。从机能顺利复制
5,某台从机down后,master继续,从机重启后它能跟上大部队吗?
能
命令操作手动指定

1,从机停机去掉配置文件中的配置项,3台目前都是主机状态,个不从属
2,预设的从机上执行命令  slaveof 主库IP  主库端口
3,用命令使用的话,2台从机重启后,关系还在吗?
临时命令,单次生效,shutdown之后关系就会消失

配置命令区别:配置,持久稳定;命令,当次生效
薪火相传

​ 上一个slave可以是下一个slave的master,slave同样可以接收其它slaves的连接和同步请求,那么该slave作为了链条中下一个的master,可以有效减轻主master的写压力

	中途变更转向:会清除之前的数据,重新建立拷贝最新的
	slaveof新主库IP  新主库端口

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

主机

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

中间机 但是还是只能进行读操作,不能写

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

从机

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

反客为主

slaveof no one		使当前数据库停止与其他数据库

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

复制原理和工作流程

  • slave启动,同步初请

    slave启动成功连接到master后会发送一个sync命令
    slave首次全新连接master,一次完全同步(全量复制)将被自动执行,slave自身原有数据会被master数据覆盖清除
    
  • 首次连接,全量复制

    master节点收到sync命令后会开始在后台保存快照(即RDB持久化,主从复制时会触发RDB),同时收集所有接收到的用于修改数据集命令缓存起来,master节点执行RDB持久化完后,master将rdb快照文件和所有缓存的命令发送到所有slave,以完成一次完全同步。
    而slave服务在接收到数据库文件数据后,将其存盘并加载到内存中,从而完成复制初始化。
    
  • 心跳持续,保持通信

    repl-ping-replica-period 10
    master发出PING包的周期,默认是10秒
    
  • 进入平稳,增量复制

    Master继续将新的所有收集到的修改命令自动依次传给slave,完成同步
    
  • 从机下线,重连续传

    master会检查backlog里面的offset,master和slave都会保存一个复制的offset还有一个masterId,offset是保存在backlog中的。Master只会把已经复制的offset后面的数据复制给Slave,类似断点续传
    

复制的缺点

  • 复制延时,信号衰减

  • 外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • master挂了如何办?

    • 默认情况下,不会再slave节点中自动重选一个master

    • 那每次都要人工干预?

 master会检查backlog里面的offset,master和slave都会保存一个复制的offset还有一个masterId,offset是保存在backlog中的。Master只会把已经复制的offset后面的数据复制给Slave,类似断点续传

复制的缺点

  • 复制延时,信号衰减

  • [外链图片转存中…(img-tbidmxxK-1719553096454)]

  • master挂了如何办?

    • 默认情况下,不会再slave节点中自动重选一个master

    • 那每次都要人工干预?

      无人值守安装变成刚需

  • 27
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值