内容简介:网上很多Redis没有一篇文章同时提取这两者,总是分开出现在不同文章中。在官方的配置文件
网上很多Redis 方面的文章,会涉及到 repl-ping- slave -period 和 repl-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 也同样如此,所以 replica 和 slave 是 完全相同 的。
为了兼容, 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 |
slave of |
replica of |
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会发起选举 |
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。