• redis主从同步机制


    主从同步

    在使用Redis中的过程中,一般需要搭建主从架构来实现Redis的高可用。下面就聊一聊Redis主从架构的数据同步机制,先用master代替主节点,slave代替从节点。

    全量同步

    在我们新增加一个slave时,第一次连接到master时。slave会向master发送一个psync的指令,master接受到该指令后,会立即执行bgsave,生成一个快照数据rdb,然后将该快照换输给slave,在slave加载后即完成了slave数据的初始化。
    同步的流程如下:

    增量同步

    假设slave在运行一段时间后,发生宕机或者网络故障,导致一段时间内未进行数据同步,在回复正常后就会使用增量同步。在slave启动后,会向master发送一个psync指令。与全量同步的差别在于,会多带一个offset。master接收到该指令后,会判断当前的数据偏移量是否在repl_backlog_buffer中,如果是则会将该ofset之后的数据同步给slave,否则会使用全量同步。

    offset: 数据偏移量,slave用来记录当前同步到了哪条数据
    repl_backlog_buffer: reids的数据缓冲区,用来保存redis最新的N条写操作指令。默认大小是1兆,可以通过repl-backlog-size来调整

    同步的流程如下:

    思考

    假设在同步的过程中,又发生了新的写操作,redis是如何进行同步的?
    答案是利用数据缓冲区,也就是repl_backlog_buffer,增量同步给slave。

  • 相关阅读:
    实验五 shell脚本编程
    实验四 Linux系统C语言开发环境学习
    实验三 Linux系统用户管理及VIM配置
    实验二 Linux系统简单文件操作命令
    实验一 Linux系统与应用准备
    实验八 进程间通信
    实验七 信号
    实验六 进程基础
    实验五 shell脚本编程
    实验四 Linux系统搭建C语言编程环境
  • 原文地址:https://www.cnblogs.com/wugang/p/14490453.html
Copyright © 2020-2023  润新知