看到这个题目首先想到的是需要3个节点构成,因为公司基于云计算模式的中台由k8s架构构成,可支持单节点极限模式和3+节点高可用模式进行部署,其中高可用便是采用了分布式架构进行设计。   --->一直没有研究过为何分布式架构的高可用模式需要3+个节点。

         今天借此机会研究一下,在没有云计算技术的昨天,我们的高可用大多采用的1+1备份方式,即至少需要2台相同规格的节点设备即可进行高可用部署,两台设备采用信令检测心跳,可以实现设备及应用的互为备份。

          大概整理了一些素材,发现分布式架构,至少由三个节点构建集群的原因如下:

1、投票和共识:在这些算法中,节点之间需要进行投票以达成共识。一个三节点集群允许在一个节点出现故障时,仍然有两个节点可以进行投票。一个节点无法单独达成大多数共识,而两个节点中的一个节点故障会导致整个集群无法达成共识。因此,至少需要三个节点来确保大多数共识。

2、容错能力:在一个三节点集群中,即使一个节点出现故障,仍然可以有两个节点继续工作。这意味着集群可以容忍一个节点的故障,而不会影响系统的可用性和一致性。

3、数据复制:在这些分布式一致性算法中,数据通常在多个节点之间复制以确保数据安全性。至少需要三个节点来实现数据的多副本存储,以便在某个节点出现故障时仍然可以确保数据的可用性和一致性。

       总之,在某些场景下,如使用分布式一致性算法的场景,集群需要至少三个节点,以确保系统的可用性、容错能力和一致性。我觉得采用分布式高可用模式,用3+节点构建集群,即最大限度、最坏状况下可以确保系统的正常运行、数据的可恢复。

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐