Java 后端面试题库 / 全部题解免费阅读理解原理,有条理地回答

Consul 为什么常用三台或五台 server?

查看完整题解

参考回答

直接回答

默认 Raft 提交需要超过一半投票节点。三台需要两票,能容忍一台故障。五台需要三票,能容忍两台故障。投票数只包含正式投票成员。

讲清原理

计算式是 floor(N/2)+1。四台需要三票,仍只允许坏一台,写入还要多等一票,因此经常用奇数规模。要把成员分散到独立故障域,同时满足节点间延迟要求。

三台投票服务器掉一台后仍能组成多数派
三台投票服务器掉一台后仍能组成多数派

例子与易错点

三台 server 加十台 client,判断能否提交,要看三台 server 里还有多少台能投票。Agent 成员列表的总数不能拿来替代投票数。

延伸阅读 怎么查 Consul 集群成员和 Raft 成员? · Consul 一般怎样从故障中恢复? · Consul 能自动恢复到什么程度?

这道题,你掌握得怎么样?

掌握程度由你主动标记,阅读和收藏不会自动改变状态。