yugabytedb - Yugabyte 故障转移时间

标签 yugabytedb

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

最佳答案

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

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

raft_heartbeat_interval_ms(默认 500 毫秒)

leader_failure_max_missed_heartbeat_periods (6)

换句话说,默认情况下,如果追随者没有听到领导者的 6 次心跳,则在 6 * ~500 毫秒(默认心跳间隔)后,即大约 3 秒后,将选举新的领导者。

可以覆盖上述设置以减少故障转移时间。然而,必须小心不要做得太激进,因为这可能会导致领导者不必要地进行乒乓球运动,即使是很小的网络问题也是如此。

关于yugabytedb - Yugabyte 故障转移时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59797726/

相关文章:

database - Apache Cassandra 与 YugaByte 的兼容性

yugabytedb - Yugabyte 有内存引擎吗

yugabytedb - 如何在标准输出上以 yugabyte 打印更改数据日志?

yugabytedb - 如何使用 YCQL 查询返回特定平板电脑

database - YugaByte DB 中的临时表

yugabytedb - Yugabyte DB 中的数据 key 轮换

database - 使用不同 API 的数据可访问性

database - 添加新节点时的重新平衡率

yugabytedb - Yugabyte的YCQL和YSQL的区别