zoukankan      html  css  js  c++  java
  • 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。

  • 相关阅读:
    poj 1579(动态规划初探之记忆化搜索)
    hdu 1133(卡特兰数变形)
    CodeForces 625A Guest From the Past
    CodeForces 625D Finals in arithmetic
    CDOJ 1268 Open the lightings
    HDU 4008 Parent and son
    HDU 4044 GeoDefense
    HDU 4169 UVALive 5741 Wealthy Family
    HDU 3452 Bonsai
    HDU 3586 Information Disturbing
  • 原文地址:https://www.cnblogs.com/wugang/p/14490453.html
Copyright © 2011-2022 走看看