有人能回答吗?如果一个节点宕机,故障转移时间是多少,我确实看到需要2到3秒,但我们有没有办法让它比这个更快?如果是的话多少钱。通常,我们不能在应用程序队列上接受这种命中,因为它是如此敏感。
发布于 2020-01-18 13:39:26
在YugabyteDB中,表被共享到平板电脑中,平板电脑使用Raft (一种分布式共识协议)在节点之间复制。对于每一台平板电脑,Raft也被用来选举平板电脑的一位同行作为领导者。
在典型情况下,一个节点将有许多平板电脑--一些是追随者角色,另一些是领导者角色。当一个节点发生故障时,该节点作为领导者的平板电脑可能会有少量不可用,直到为这些平板电脑选举出新的领导者。(注意: YugabyteDB是一个CP数据库)。当平板电脑的追随者在一定的心跳次数内没有收到他们的领导者的消息时,就会触发这个领导者(重新)选举。控制这一点并因此确定故障转移时间的旋钮是以下gflag:
raft_heartbeat_interval_ms (默认500毫秒)
leader_failure_max_missed_heartbeat_periods (6)
换句话说,默认情况下,如果追随者没有听到领导者的6次心跳,那么在6* ~500毫秒(默认的心跳间隔)之后,即大约3秒之后,将选出新的领导者。
可以覆盖上述设置以减少故障转移时间。但是,必须小心,不要使这过于激进,因为这可能会导致领导者不必要地ping/pong,即使是小的网络问题。
https://stackoverflow.com/questions/59797726
复制相似问题