专栏首页蓝天redis的repl-ping-slave-period和repl-ping-replica-period

redis的repl-ping-slave-period和repl-ping-replica-period

网上很多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会发起选举

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Google Sparse Hash

    An extremely memory-efficient hash_map implementation, with only 2 bits/entry ov...

    一见
  • SuSE上配置DNS客户端方法

    在这个文件里增加DNS服务器的IP地址,格式为:nameserver  DNS服务器IP地址

    一见
  • linux out of memory分析(OOM)

    原文:http://blog.csdn.net/guomsh/article/details/6536915

    一见
  • 蓝桥杯C语言知识点补充——快速排序详解

    神无月
  • 面试再问值传递与引用传递,把这篇文章砸给他!

    java的值传递和引用传递在面试中一般都会都被涉及到,今天我们就来聊聊这个问题,首先我们必须认识到这个问题一般是相对函数而言的,也就是java中的方法参数,那么...

    Java技术栈
  • R语言circlize包实例1

    https://stats.biopapyrus.jp/r/graph/circos-plot.html

    用户7010445
  • 音视频技术开发周刊(第121期)

    Appear.in Vs. Jitsi: WebRTC 商业订阅服务对决开源免费服务

    LiveVideoStack
  • 超全整理!Linux 大牛收集的Linux性能分析工具合集

    本文由马哥教育面授班23期学员推荐,转载自恒生研究院,作者为董西孝,内容略经小编改编和加工,观点跟作者无关,最后感谢作者的辛苦贡献与付出。 出于对Linux操作...

    小小科
  • 深入浅出Kafka(3):我的生命是如何运转的?

    Kafka作为一个消息系统,为什么会如此受欢迎?消息系统在不同系统传输数据中扮演着非常重要的角色。让我们看看没有消息系统的数据管道会怎样?

    double
  • Mathematica 实用入门 — 中文字幕

    WolframChina

扫码关注云+社区

领取腾讯云代金券