新手向——大白话带你彻底理解CAP理论

张开发
2026/5/31 0:00:49 15 分钟阅读
新手向——大白话带你彻底理解CAP理论
在理解CAP之前 我们必须先理解什么是网络分区网络分区指的是在原本健康的分布式系统因为网络故障系统被分为了多个“孤岛” 而且岛与岛之间无法通信。例如现在有三台服务器A, B, C组成一个集群 他们之间互相连接 心跳正常 数据实时同步。突然 因为网络故障 A和B,C的心跳连接断开了变成了两个分区。两个分区都觉得对方死了自己还活着。 所以就两个分区依旧分别对外提供服务 但是此时分区之间不做数据同步了这就是典型的脑裂问题。当网络恢复 分区合并时就会出现严重的数据一致性问题。CAP理论核心就是 在分布式系统中 网络分区P是必然会发生的 你无法避免。 因此 你只能在可用性A和数据一致性C中做选择。所以如果你选择AP的话 就是牺牲数据一致性来保证可用性 在分区问题出现时 服务器正常工作 在合并时通过人工或者是算法来同步数据。如果选择的是CP的话 就是牺牲可用性来换取一致性这种做法就比较暴力了。 在分区问题出现时 为了防止数据错乱。节点数量少于总结点数量一半的分区直接拒绝对外提供服务。

更多文章