zoukankan      html  css  js  c++  java
  • redis的repl-ping-slave-period和repl-ping-replica-period

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

    没有一篇文章同时提取这两者,总是分开出现在不同文章中。在官方的配置文件redis.conf5.0版本之前的均使用repl-ping-slave-period,而从5.0开始变成了repl-ping-replica-period,也就是说这两个其实是同一个东西。实际上因为一些非技术原因,很多软件将slave改成了replicaRedis也同样如此,所以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-timeoutcluster-node-timeout的区别:

    默认值

    单位

    repl-timeout

    60

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

    cluster-node-timeout

    15000

    毫秒

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

  • 相关阅读:
    http statusCode(状态码)
    MVC 获取控制器名称和Action名称(转载)
    Spark2.0机器学习系列之10: 聚类(高斯混合模型 GMM)
    机器学习算法(优化)之二:期望最大化(EM)算法
    Spark2.0机器学习系列之9: 聚类(k-means,Bisecting k-means,Streaming k-means)
    Spark2.0 特征提取、转换、选择之二:特征选择、文本处理,以中文自然语言处理(情感分类)为例
    Spark2.0 特征提取、转换、选择之一:数据规范化,String-Index、离散-连续特征相互转换
    SVM实现多分类的三种方案
    机器学习算法(优化)之一:梯度下降算法、随机梯度下降(应用于线性回归、Logistic回归等等)
    Spark2.0机器学习系列之8:多类分类问题(方法归总和分类结果评估)
  • 原文地址:https://www.cnblogs.com/aquester/p/10229433.html
Copyright © 2011-2022 走看看