【问题标题】:Yugabyte failover timeYugabyte 故障转移时间
【发布时间】:2020-01-18 13:39:26
【问题描述】:

有人可以回答吗? 如果一个节点出现故障,故障转移时间是多少,我确实看到它需要 2 到 3 秒,但我们是否可以控制让它比这更快?如果是的话多少钱。通常,我们不能在应用程序队列上受到这种影响,因为它是如此敏感。

【问题讨论】:

    标签: yugabyte-db


    【解决方案1】:

    在 YugabyteDB 中,表被共享到平板电脑中,平板电脑使用 Raft(分布式共识协议)在节点之间复制。 Raft 还用于为每个 tablet 选举一个 tablet 的 peer 作为领导者。

    在一个典型的情况下,一个节点会有很多tablet——一些是follower角色,一些是leader角色。当一个节点发生故障时,该节点作为领导者的平板电脑可能会有少量不可用,直到为这些平板电脑选出新的领导者。 (注:YugabyteDB 是一个 CP 数据库)。当平板电脑的追随者在一定数量的心跳内没有收到其领导者的消息时,将触发此领导者(重新)选举。控制这一点并因此确定故障转移时间的旋钮是以下 gflag:

    raft_heartbeat_interval_ms(默认 500 毫秒)

    leader_failure_max_missed_heartbeat_periods(6)

    换句话说,默认情况下,如果一个跟随者在 6 个领导者的心跳后没有听到,那么在 6 * ~500 毫秒(默认的心跳间隔)之后,即大约 3 秒,新的领导者将被选举出来。

    可以覆盖上述设置以减少故障转移时间。但是,必须注意不要让这变得过于激进,因为这可能导致领导者不必要地 ping/pong,即使对于小的网络故障也是如此。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-10-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-06
      相关资源
      最近更新 更多