为什么好多高可用方案都是 3 个节点?为什么是 3?

2020-12-25 11:15:00 +08:00
 zealinux

比如 eureka, 不清楚为什么不是 2,或者 4 ?

8027 次点击
所在节点    程序员
66 条回复
YouLMAO
2020-12-25 12:07:06 +08:00
ZK 一般 5 个, 标题打回重写
wtks1
2020-12-25 12:26:45 +08:00
因为万物皆三?
samuel
2020-12-25 12:59:54 +08:00
偶数节点投票会出现平票,所以 3 节点就是实现高可用需要的最少节点数了
libook
2020-12-25 13:04:27 +08:00
我接触到的高可用设施确实通常建议至少 3 节点,但是大多 2 节点也可以工作,直至到剩下 1 个节点。

没有找到相应的理论参考,说一下个人猜想:
3 节点中如果 down 了 1 个节点,管理员需要想办法去恢复成 3 节点,此时可以修复 down 的节点也可以加新的空节点,不管是哪一种都涉及到同步数据的过程,此时剩下的 2 个节点中可以 1 个主要承载应用负载,另一个主要承载同步负载,使得同步过程不影响业务性能。如果是 2 节点方案的话,剩下的 1 个节点既要承担应用负载,又要承担同步负载,会使得应用性能容量减半。
如果是 4 节点的话,除非有其他设计加成,否则和 3 节点的效果差不多,只不过连续 down 2 个节点问题也不大。
rainman777
2020-12-25 13:06:51 +08:00
稳定~🐶
iKunsounds
2020-12-25 13:08:49 +08:00
三角形最稳定
carlclone
2020-12-25 13:16:25 +08:00
看你高可用要达到几个 9 吧,主备 2 台也算高可用啊
gadsavesme
2020-12-25 13:32:32 +08:00
偶数会脑裂,3 就是除了单机最小的奇数了。
misaka19000
2020-12-25 13:34:00 +08:00
3 是除了 1 之外的最小的正奇数
longaiwp
2020-12-25 13:34:08 +08:00
因为符合道家的三生万物的思想?
selboo
2020-12-25 13:43:13 +08:00
tcp 为什么要 3 次握手
Suddoo
2020-12-25 13:50:10 +08:00
之前厂里的集群也是,3 节点底座,或者 7 节点底座
wellsc
2020-12-25 13:52:39 +08:00
五个才是 quorum 最佳实践
anthow
2020-12-25 14:09:11 +08:00
三人行
DoctorCat
2020-12-25 14:10:14 +08:00
偶数存在脑裂问题,只有奇数才可能发挥仲裁机制,从而避免脑裂。
由于消息没送达(集群网络故障) A 集群俩人成一伙儿,B 集群俩人成一伙儿,各自选一个 Leader 为政了(两个集群双主同时服务)。如果再引入一个人,就不会发生这种情况,一定是能选出一个 Leader
cstj0505
2020-12-25 14:13:30 +08:00
@hhyvs111 好家伙,lz 正常饭吃得太饱,你这让他改吃牢饭了
kiracyan
2020-12-25 14:20:50 +08:00
我猜是经验 因为飞机的高可用也是 3 套系统
PUBG98k
2020-12-25 14:22:08 +08:00
道生一,一生二,二生三,三生万物。
areless
2020-12-25 14:23:16 +08:00
由赤木直子博士开发的三台超级电脑被命名为“MAGI”,三台分别名为 Caspar 、Melchior 和 Balthasar 。典故是从东方过来礼拜基督降生的三贤人。还有夏亚的三倍速。不仅计算机,包括司法系统,三权分立啊,都是 3 个东西互相制约便是最出彩的系统设计
A388
2020-12-25 14:23:59 +08:00
一个节点使用,一个备份在同一个网络,另外一个备份到不同网络。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/738827

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX