网上很多Redis方面的文章,会涉及到repl-ping-slave-periodrepl-ping-replica-period这两个重要参数,从一些中文解释来看,意思差不多,即:SLAVE周期性的ping MASTER间隔,可直接理解成SLAVE -> MASTER间的心跳间隔(注意箭头方向)。

没有一篇文章同时提取这两者,总是分开出现在不同文章中。在官方的配置文件redis.conf,5.0版本之前的均使用repl-ping-slave-period,而从5.0开始变成了repl-ping-replica-period,也就是说这两个其实是同一个东西。实际上因为一些非技术原因,很多软件将slave改成了replica,Redis也同样如此,所以replicaslave完全相同的。

为了兼容,5.0同时支持两种用法(其它配置项也同样命运,如:slaveof改成了replicaof):

} else if ((!strcasecmp(argv[0],"repl-ping-slave-period") ||

!strcasecmp(argv[0],"repl-ping-replica-period")) &&

argc == 2)

{

server.repl_ping_slave_period = atoi(argv[1]);

if (server.repl_ping_slave_period <= 0) {

err = "repl-ping-replica-period must be 1 or greater";

goto loaderr;

}

}

常用命令变化,但5.0仍然兼容的配置项(实际上所有的slave都改成了replica,包括一些官方网站的文档,不过代码中的变量名保持未变,仍就为slave):

<5.0版本

>=5.0版本

repl-ping-slave-period

repl-ping-replica-period

slaveof

replicaof

slave-priority

replica-priority

slave-read-only

replica-read-only

slave-serve-stale-data

replica-serve-stale-data

cluster-slave-validity-factor

cluster-replica-validity-factor

配置项说明(注意命名包含cluster的为集群专有配置项):

默认值

单位

repl-ping-replica-period

10

定义心跳(PING)间隔。

repl-timeout

60

这个参数一定不能小于repl-ping-replica-period,可以考虑为repl-ping-replica-period的3倍或更大。定义多长时间内均PING不通时,判定心跳超时。对于redis集群,达到这个值并不会发生主从切换,主从何时切换由参数cluster-node-timeout控制,只有master状态为fail后,它的slaves才能发起选举。

cluster-node-timeout

15000

毫秒

集群中的节点最大不可用时长,在这个时长内,不会被判定为fail。对于master节点,当不可用时长超过此值时,它slave在延迟至少0.5秒后会发起选举进行failover成为master。Redis集群的很多其它值与cluster-node-timeout有关。

cluster-slave-validity-factor

10

如果设置为0,则slave总是尝试成为master,无论slave和master间的链接断开时间的长短。如果是一个大于0的值,则最大可断开时长为:(cluster-slave-validity-factor * cluster-node-timeout)。例如:当cluster-node-timeout值为5,cluster-slave-validity-factor值为10时,slave和master间的连接断开50秒内,slave不会尝试成为master。

repl-timeout和cluster-node-timeout的区别:

默认值

单位

repl-timeout

60

决定复制超时,并不能决定slave发起选举,也不决定master何时为fail

cluster-node-timeout

15000

毫秒

决定master何时为fail,在fail后,slave会发起选举

redis的repl-ping-slave-period和repl-ping-replica-period的更多相关文章

  1. 物理机与虚拟机IP互ping通,而互ping主机名不通

    问题描述:虚拟机信息:VMware-workstation 10安装RHEL5.8操作系统.hostname:rhel201.com IP:192.168.1.201 物理机系统:windows 7主 ...

  2. Linux下可以ping ip地址但无法ping域名解决方法

    分析:当前系统无法解决域名至ip地址故障. 步骤阅读 2 三:解决过程: 1.分析dns故障: 2.物理机可以ping 地址,但无法ping域名: 3.检查/etc/resolv.conf: 注: ( ...

  3. 解决:虚拟机能ping通主机,主机ping不通虚拟机

    问题:虚拟机能ping通主机,主机ping不通虚拟机 解决方法: 1. 使用桥接. 2. 关闭防火墙.

  4. CentOS7设置静态IP以及windows下ping不通虚拟机、虚拟机ping不通外网解决方案

    问题:CentOS7安装完成后默认使用的是动态IP,当你每次重新启动CentOS7后,它的IP地址都不一样.一般我们都是使用远程连接工具连接CentOS7进行操作,如果每次IP都不一样,系统启动后,每 ...

  5. 公司网络能ping通ip,不能ping域名

    第一天去公司,就因为网络问题弄了大半天.只能ping通ip,不能ping域名.网上查了各种方式都不行,刷新dns缓存.说是什么域名解析问题.dns的问题.公司里好几个人都看了看不能解决.领导让重装系统 ...

  6. Redis的复制(Master/Slave)

    是什么 : 也就是我们所说的主从复制,主机数据更新后根据配置和策略,自动同步到备机的master/slaver机制,Master以写为主,Slave以读为主 能干嘛: 读写分离,容灾恢复 怎么玩: 1 ...

  7. Redis学习十:Redis的复制(Master/Slave)【重要】

    一.是什么 官网 行话:也就是我们所说的主从复制,主机数据更新后根据配置和策略,自动同步到备机的master/slaver机制,Master以写为主,Slave以读为主 二.能干嘛 读写分离  容灾恢 ...

  8. 基于zabbix的Redis、Sentinel、Slave多实例自动发现监控

    约定 保证whereis redis-cli 能够正确返回redis-cli程序的路径 保证 redis的配置文件在模板宏{$REDIS_SERVER_CONFIG_PATH}的路径,并且后缀名 为. ...

  9. redis高可用 - Master&Slave

    Master&Slave也就是我们所说的主从复制,即主机数据更新后根据配置和策略,自动同步到备机的机制.其中Master以写为主,Slave以读为主. Master&Slave的作用主 ...

  10. redis配置master-slave模式

    由于云服务器存在闪断现象,项目线上会存在基于redis的功能在闪断时段内出现异常,所以redis需要做master-slave模式.直接上代码: 原单机redis,RedisConnectionFac ...

随机推荐

  1. python 学习笔记 ---- 数据类型

    Python有五个标准的数据类型: Numbers(数字) String(字符串) List(列表) Tuple(元组) Dictionary(字典) ① List 列表 和 Tuple 元组     ...

  2. angular 1.x 控制器之间互相传递参数

    我们要向前方看齐,基于js引用类型的对象就不记了,所以使用基于事件的方式: angular 中 $on,$emit,$boardcast来实现父控制器和子控制器互相通讯, 其中$on表示事件监听, $ ...

  3. c#设计模式3抽象工厂模式(Abstract Factory)

    #region 坦克系列 abstract class Tank { abstract public void Go(); } /// <summary> /// 越野车 /// < ...

  4. C# iframe session 丢失

    在页面A中使用iframe引用另一站点页面B,但页面B上面的session总是丢失,百度了一下,不用改程序,直接在iis里面操作,解决方法如下 1.打开IIS管理器 inetmgr 2.选择被嵌入if ...

  5. 计算器类(C++&JAVA——表达式转换、运算、模板公式)

    运行: (a+b)*c 后缀表达式:ab+c* 赋值: Enter the a : 10 Enter the b : 3 Enter the c : 5 结果为:65 代码是我从的逻辑判断系统改过来的 ...

  6. Rime小狼毫个人配置文件

    default.custom.yaml customization: distribution_code_name: Weasel distribution_version: 0.9.30 gener ...

  7. Nowcoder 练习赛26E 树上路径 - 树剖

    Description 传送门 给出一个n个点的树,1号节点为根节点,每个点有一个权值 你需要支持以下操作 1.将以u为根的子树内节点(包括u)的权值加val 2.将(u, v)路径上的节点权值加va ...

  8. ES6 中 let and const

    let 和 const 命令 let 命令 基本用法 ES6 新增了let命令,用来声明变量.它的用法类似于var,但是所声明的变量,只在let命令所在的代码块内有效. { let a = 10; v ...

  9. [Hbase]Hbase容灾方案

    介绍两种HBase的数据备份或者容灾方案:Snapshot,Replication: 一.Snapshot 开启快照功能,在hbase-site.xml文件中添加如下配置项: <property ...

  10. Partition Equal Subset Sum

    Given a non-empty array containing only positive integers, find if the array can be partitioned into ...