当前位置: 移动技术网 > IT编程>数据库>Redis > Redis3/5---主从复制

Redis3/5---主从复制

2020年07月19日  | 移动技术网IT编程  | 我要评论

1.基础概念

什么是主从复制?
在这里插入图片描述
为什么要主从复制?

  • redis-server单点故障
  • 单节点QPS有限

主从复制应用场景

  • 读写分离场景,规避redis单机瓶颈
  • 故障切换,master出问题后还有slave节点可以使用

2.主从复制搭建流程

(1)搭建主从复制

Redis Server以普通模式启动。

启动从服务器的方式:

  • 第一种方式:命令行
#测试的时候可以先清空服务器上的数据,防止数据不一致
flushdb
#连接需要实现从节点的redis,执行下面的命令:
#数据从[ip] [port]复制
127.0.0.1:6380>slaveof [ip] [port]
  • 第二种方式:redis.conf配置文件
#配置文件中增加
slaveof [ip] [port]
或者replicaof [ip] [port]
#从服务器是否只读(默认 yes)
slave-read-only yes
  • 退出主从集群的方式
salveof on one

(2)检查主从复制

[root@localhost redis]# /usr/local/redis/bin/redis-cli -p 6380 info Replication
#或者
127.0.0.1:6380>#info replaction

在这里插入图片描述

【主从复制测试】

#主从服务器开启监控状态,查看信息
#打印Redis收到的每条状态。
monitor
  • 客户端通过info replaction实现: set命令,去找主服务器;get命令找从服务器。从而实现读写分离。

3.概念

(1)主从复制流程

在这里插入图片描述

  • 从服务器通过psync命令发送服务器已有的同步进度(同步源ID、同步进度offset)
  • master收到请求,同步源为当前master,则根据偏移量增量同步。
  • 同步源非当前master,则进入全量同步:master生产rdb,传输到slave,加载到slave内存

增量:把命令转发过来;全量:把内存所有信息转发过来】

(2)主从复制核心知识

  • Redis默认使用异步复制,slave和master之间异步地确认处理的数据量
  • 一个master可以拥有多个slave
  • slave可以接受其他slave的连接。slave可以有下级sub slave
  • 主从同步过程在master侧是非阻塞的
  • slave初次同步需要删除旧数据,加载新数据,会阻塞到来的连接请求。
    在这里插入图片描述

(3)主从复制应用场景

  • 主从复制可以用来支持读写分离
  • slave服务器设定为只读,可以用在数据安全的场景下。
  • 可以使用主从复制来避免master持久化造成的开销。master关闭持久化,slave配置为不定期保存或启用AOF。

(注意:重新启动master程序将从一个空数据集开始,如果一个slave试图与它同步,那么这个slave也会被清空。)
在这里插入图片描述

(4)主从复制注意事项

注意事项 内容
读写分离场景 数据复制延迟时导致读到过期数据或者读不到数据(网络原因、slave阻塞)。从节点故障(多个client如何迁移)。
全量复制情况下 第一次建立主从关系或者runid不匹配会导致全量复制。 故障转移的时候也会出现全量复制。
(全量)复制风暴 master故障重启,如果slave节点较多,所有slave都要复制,对服务器的性能、网络压力都有很大影响。一个机器部署了多个master。
写能力有限 主从复制还是只有一台master,提供的写服务能力
master故障清空下 如果master无持久化,slave开启持久化来保留数据的场景,建议不要配置redis自动重启。;启动redis自动重启,master启动后,无备数据,可能导致集群数据丢失的情况。
带有效期的key slave不会让key过期,而是等待master让key过期。 在Lua脚本执行期间,不执行任何key过期操作。

【master出现故障解决方案】

  • 主从切换:原来做持久化保存数据的从服务器,变成主服务器;原来的主服务器,变成从服务器。
  • 不改变原来的主从关系,将从服务器上的数据复制到主服务器。

本文地址:https://blog.csdn.net/a954553391/article/details/107401521

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网