• Redis--主从复制


    主服务器:master

    从服务器:slave 

    命令:SLAVEOF  ip port    (在slave中执行该命令,则将ip对应的服务器设置为主服务器。)

    主从同步是实现步骤:(用于新的同步)

      1、从服务器向主服务器发送SYNC命令。

      2、主服务器收到命令后,执行BGSAVE命令,生产RDB文件,并使用一个缓冲区记录从现在开始主服务器执行的所有写命令。

      3、当RDB文件生成完毕,主服务器将文件发送给从服务器,从服务器解析RDB文件,完成主从的同步状态。

      4、主服务器将缓冲区记录的写命令,发送给从服务器,从服务器执行这些命令。最终完成服务器的主从同步(命令传播)。

    部分同步的实现原理:(用于断线重链同步)

      1、主从服务器的复制偏移量(偏移量相当于执行的步骤id,每次执行一个命令,就步进1)。

      2、主服务器的写命令缓冲区(长度固定的队列,默认1MB,先进先出)。

      3、服务器的运行ID(每个Redis都有对应的运行ID,运行ID在服务器运行的时候,自动生成。在首次同步时,从服务器会保存主服务器的ID)。

    实现步骤:

      1、断线重连后,从服务器向主服务器发送偏移量。主服务器根据从服务器的偏移量,在缓存区中寻找对于的值,如果找到则执行部分同步,如果没找到则执行全量同步。

      2、根据偏移量从缓冲区找到对应的命令列表,然后发送给从服务器(命令传播)。

      3、只有断线重连后,从服务器发生的主服务器ID与当前的主服务器ID一致时,才可以进行部分同步。否则进行全量同步。 

  • 相关阅读:
    zookeeper历史版本下载
    RabbitMq集群搭建
    spring boot rabbitmq整合rabbitmq之消息持久化存储
    跨域
    Spring注入(IOC):
    AOP
    jsp自定义标签
    配置文件要注意的项
    线程
    URL转码
  • 原文地址:https://www.cnblogs.com/chen--biao/p/9896989.html
Copyright © 2020-2023  润新知