Redis高可用-主从复制及原理

主从环境搭建

  1. 镜像源下载安装包

    wget https://repo.huaweicloud.com/redis/redis-5.0.0.tar.gz
    
  2. 解压后编译

    # 解压
    tar -zxvf redis-5.0.0.tar.gz
    # 文件夹重命名(非必须)
    mv redis-5.0.0 redis
    # 新建文件夹,用于保存配置文件和日志
    mkdir con log
    # 进入redis目录
    cd redis/
    # 编译
    make
    

    编译之后在src目录下出现相关命令
    在这里插入图片描述

  3. 修改主Master节点配置文件

    • 将redis目录下的redis.conf文件复制到conf目录下,并修改名字为redis-master.conf

    • 修改配置文件,在master节点中不需要过多配置,常规即可

      # 开放网络访问
      bind 0.0.0.0
      # 端口
      port 9001
      # 后台启动
      daemonize yes
      # pid文件存放路径
      pidfile /var/run/redis_9001.pid
      # 日志级别改为debug,可以查看更多信息
      loglevel debug
      # 输出日志到文件,文件不存在会自动创建
      logfile "/${yourPath}/redis/log/master.log"
      # 配置密码
      requirepass 123456
      
  4. 修改Slave节点配置文件redis-slave.conf

    # 开放网络访问
    bind 0.0.0.0
    # 端口
    port 9002
    # 后台启动
    daemonize yes
    # pid文件存放路径
    pidfile /var/run/redis_9002.pid
    # 日志级别改为debug,可以查看更多信息
    loglevel debug
    # 输出日志到文件,文件不存在会自动创建
    logfile "/${yourPath}/redis/log/slave.log"
    # 配置master节点的连接信息
    replicaof 10.0.0.2 9001
    # 配置master节点的密码
    masterauth 123456
    
  5. 启动master和slave节点

    cd  /${yourPath}/redis/src
    # 启动master节点
    ./redis-server /${yourPath}/conf/redis-master.conf
    # 启动slave节点
    ./redis-server /${yourPath}/conf/redis-slave.conf
    

    至此,Redis的主从结构就搭建完毕了,目前是一主一从,也可以实现一主多从,自己参照redis-slave.conf即可。

主从同步原理

  1. 查看master节点日志

    在这里插入图片描述

  2. 查看slave节点日志

    在这里插入图片描述

    通过日志就可以大致了解数据是如何在两者之间进行的,在此做出总结:

    1. Master节点启动
    2. Slave节点启动
    3. 从磁盘加载数据
    4. Slave节点执行SYNC命令告知Master节点开始数据同步
    5. Master接收到来自Slave节点的请求,发送PING命令执行网络检测
    6. 若PING命令执行成功,Master执行BGSAVE命令将内存中的数据另起一个线程持久化到磁盘,再发送给Slave节点
    7. Slave节点接受到数据后,删除内存中的老数据,加载新数据
    8. 数据同步结束

参考资料

  1. redis-doc

阅读原文

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值