redis主从复制(3)— 复制超时

1、repl-timeout
前两篇[1]关于redis主从复制的文章解释了一些因为slave replication buffer或者replication backlog参数的错误配置(或者默认参数值)导致主从复制中断的现象。redis里面的repl-timeout参数值也太小也将会导致复制不成功。top redis headaches for devops – replication timeout详细解释了因为复制超时导致复制中断的现象。

redis配置文件中对repl-timeout的参数解释如下:
# The following option sets the replication timeout for:
#
# 1) Bulk transfer I/O during SYNC, from the point of view of slave.
# 2) Master timeout from the point of view of slaves (data, pings).
# 3) Slave timeout from the point of view of masters (REPLCONF ACK pings).

三种情况认为复制超时:
1)slave角度,如果在repl-timeout时间内没有收到master SYNC传输的rdb snapshot数据,
2)slave角度,在repl-timeout没有收到master发送的数据包或者ping。
3)master角度,在repl-timeout时间没有收到REPCONF ACK确认信息。

当redis检测到repl-timeout超时(默认值60s),将会关闭主从之间的连接,redis slave发起重新建立主从连接的请求。
对于内存数据集比较大的系统,可以增大repl-timeout参数。

2、slave ping period
另外,需要注意,redis slave会定期从master发送ping命令,时间间隔repl-ping-slave-period指定。
因而,设置参数时, repl-timeout > repl-ping-slave-period。

# Slaves send PINGs to server in a predefined interval.  The default value is 10 seconds.
# repl-ping-slave-period 10
 
# It is important to make sure that this value is greater than the values pecified for repl-ping-slave-period otherwise a 
timeout will be detected every time there is low traffic between the master and the slave.

转自:http://mdba.cn/?p=816

原创文章,作者:s19930811,如若转载,请注明出处:http://www.178linux.com/2482

(1)
s19930811s19930811
上一篇 2016-04-05 23:05
下一篇 2016-04-06 22:51

相关推荐

  • ansible高级应用

    上一篇博客介绍了ansible的基础应用Modules,博客地址 http://www.178linux.com/14860 。这次介绍下Ansible的另一个核心模块Playbooks。   Ansible的核心模块:     Ansible core:   &nbs…

    Linux干货 2016-04-18
  • linux及其文件系统

       计算机是由CPU、存储设备(内存、硬盘)、I/O设备(键盘、鼠标、显示器)组成。CPU负责进行运算和控制;硬盘和内存负责永久和临时存储数据;Input设备负责输入指令或者数据,output设备负责输出处理过的数据。          Linux的发行版主要有Debian,S…

    Linux干货 2016-09-21
  • linux文件权限练习(0803)

    1、当用户xiaoming对/testdir 目录无执行权限时,意味着无法做哪些操作?     不能cd到该目录,不能ls -l查看目录下文件的详细信息      2、当用户xiaoqiang对/testdir 目录无读权限时,意味着无法做哪些操作?…

    Linux干货 2016-08-04
  • date初步认识

    linux命令date的初步认识

    Linux干货 2017-11-11
  • Buffer和Cache的区别

    1、buffer(缓冲) 是为了提高内存和硬盘(或其他I/O设备)之间的数据交换的速度而设计的。 2、cache(缓存) 从CPU角度考虑,是为了提高cpu和内存之间的数据交换速度而设计的,例如平常见到的一级缓存、二级缓存、三级缓存。 cpu在执行程序所用的指令和读数据都是针对内存的,也就是从内存中取得的。由于内存读写速度慢,为了提高cpu和内存之间数据交换…

    Linux干货 2018-01-02
  • lvs负载集群实验(实现wordpress)

    项目要求: (1) lvs 调度两台 nginx+php-fpmreal-server,采用 dr 模型,调度算法为 rr (2) mariadb 为 real-server 提供数据库,nfs 挂载至 2 台 real-server 提供文件服务 (3) 由于实验环境地址冲突将VIP替换为172.18.60.60 实施步骤: 一、配置NFS+mariadb…

    2017-05-10