redis主从同步收到以下参数影响

repl-ping-slave-period主从心跳ping的时间间隔。认10 repl-timeout  从节点超时时间。认60 repl-backlog-size  主节点保存操作日志的大小。认1M  repl-backlog-ttl   主节点保存操作日志的时间。认3600秒 client-output-buffer-limit 这个参数分为3部分,第二部分涉及slave。表示主节点输出给从节点的缓存(output-buffer)大小。认是:256M 64M 60秒。意思是:如果output-buffer>256M则从节点需要重新全同步,如果256>output-buffer>64且持续时间60秒,则从节点需要重新全同步。   主从同步的健康监控项(info Replication ): 主节点: master_repl_offset 主节点backlog偏移量 slave0: offset   从节点backlog偏移量 master_repl_offset-offset  master_repl_offset与offset的差量为延迟backlog 从节点: master_last_io_seconds_ago  从节点超时时间   从网络断开到恢复后。slave redis 重新链接上主库。判断是否需要做全同步,或者是增量恢复的流程图如下:  

1. repl-timeout  从节点超时时间。超时了会怎样? 超时了,从节点会直接重新同步一份主节点的完整数据。没有超时,则根据其他参数还可能同步增量数据而已。 2. client-output-buffer-limit 这个参数分为3部分,第二部分涉及slave。表示主节点输出给从节点的缓存(output-buffer)大小。缓冲区里放的是什么? 这个参数针对有从库的主节点,output-buffer缓冲区里放的是主库待同步给从库的操作数据。 3. repl-backlog-size  主节点保存操作日志的大小。这个和client-output-buffer-limit有什么关联关系吗? 针对有从库的主节点,repl-backlog-size 设置主节点缓存操作数据的可用大小。如果网络阻塞,主节点操作数据未同步给从节点而积累在缓冲区,这个缓冲区大小超过repl-backlog-size 。网路恢复之后,slave节点就必须重新从主节点同步一份完整数据。 client-output-buffer-limit 和 repl-backlog-size没有什么紧密关联。     redis 4.0 从节点需要停止一段时间的时候,可以设置 repl-backlog-ttl  为0 。不释放backlog的内容,这样启动slave的时候 可以部分同步。当然与repl-backlog-size  client-output-buffer-limit  的大小也有关

相关文章

在笔者近 3 年的 Java 一线开发经历中,尤其是一些移动端、用...
这一篇文章拖了有点久,虽然在项目中使用分布式锁的频率比较...
本文梳理总结了一些 Java 互联网项目中常见的 Redis 缓存应用...
书接上回,消息通知系统(notification-system)作为一个独立...
Redis 是目前互联网后端的热门中间件之一,在许多方面都有深...
在Java Spring 项目中,数据与远程数据库的频繁交互对服务器...