Consul 为什么常用三台或五台 server?
查看完整题解
参考回答
直接回答
默认 Raft 提交需要超过一半投票节点。三台需要两票,能容忍一台故障。五台需要三票,能容忍两台故障。投票数只包含正式投票成员。
讲清原理
计算式是 floor(N/2)+1。四台需要三票,仍只允许坏一台,写入还要多等一票,因此经常用奇数规模。要把成员分散到独立故障域,同时满足节点间延迟要求。
例子与易错点
三台 server 加十台 client,判断能否提交,要看三台 server 里还有多少台能投票。Agent 成员列表的总数不能拿来替代投票数。
延伸阅读 怎么查 Consul 集群成员和 Raft 成员? · Consul 一般怎样从故障中恢复? · Consul 能自动恢复到什么程度?
这道题,你掌握得怎么样?
掌握程度由你主动标记,阅读和收藏不会自动改变状态。