Redis学习笔记——主从复制

本文详细介绍了Redis的主从复制,包括主从复制的作用、工作流程、数据同步和命令传播阶段,强调了主从复制在高可用、读写分离和故障恢复等方面的重要性,并探讨了数据同步阶段的注意事项和复制缓冲区的工作原理。
摘要由CSDN通过智能技术生成

简介

对于redis的单机故障和容量瓶颈问题而无法实现“Redis”的高可用。需要的解决方法是:

  • 准备多台服务器,互相连通。将数据复制多个副本保存在不同的服务器上,连接在一起,并保证数据是同步的。即使有其中一台服务器宕机,其他服务器依然可以继续提供服务,实现Redis的高可用,同时实现数据冗余备份。

多台服务器连接的方案

  • 提供数据方:master
    主服务器,主节点,主库
    主客户端
  • 接收数据方:slave
    从服务器,从节点,从库
    从客户端
  • 需要解决的问题:
    数据同步
  • 核心工作:
    master的数据复制到slave中(即所谓的主从复制)
  • 下图是一个最简单的分布式部署
    在这里插入图片描述

主从复制说明

主从复制即将master中的数据即时、有效的复制到slave
特征:一个master可以拥有多个slave,一个slave只对应一个master
职责:

  • master
    • 写数据
    • 执行写操作时,将出现变化的数据自动同步到slave
    • 读数据(可忽略)
  • slave
    • 读数据
    • 写数据(禁止)

主从复制作用

  • 读写分离:master写、slave读,提高服务器的读写负载能力
  • 负载均衡:基于主从结构,配合读写分离,由slave分担master负载,并根据需求的变化,改变slave的数量,通过多个从节点分担数据读取负载,大大提高Redis服务器并发量与数据吞吐量
  • 故障恢复:当master出现问题时,由slave提供服务(转变为临时master),实现快速的故障恢复
  • 数据冗余:实现数据热备份,是持久化之外的一种数据冗余方式
  • 高可用基石:基于主从复制,构建哨兵模式与集群,实现Redis的高可用方案

主从复制工作流程

主从复制过程大体上分为三个阶段

  • 建立连接阶段(即准备阶段)
  • 数据同步阶段
  • 命令传播阶段
    在这里插入图片描述

建立连接阶段

主要建立slave到master的连接,使master能够识别slave,并保存slave端口号

步骤

  1. slave设置master的地址和端口,保存master信息
  2. slave与master建立socket连接
  3. slave发送ping命令(定时器任务)
  4. 身份验证(可省略,redis一般用于内网)
  5. 发送slave端口信息

连接后状态:
slave:保存master的地址与端口
master:保存slave的端口
总体:之间创建了连接的socket

流程图如下:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值