背景
CAP定理分布式系统架构领域的概念,理解这一定理,可以将场景范围限定为一个由多个节点组成的集群。假设当前集群只有A、B两个节点。
概念
- Consitency: 一致性,分布式环境下,同一份数据会存在多个节点上,一致性要求不同节点上的相同数据必须是一样的。e.g. 任意时刻,用户从A、B的节点获取到的数据完全相同。
- Availability: 可用性,分布式环境下,多个节点都可以对外提供服务,不会出现读、写不可用的场景。e.g.任意时刻,用户读A、B节点都能正常返回数据。
- Partition Tolerance: 分区耐受性(or 分区容忍,好多种翻译方式,个人比较偏好分区耐受性)。相比于一致性、可用性,分区耐受性的理解相对复杂。
Partition Tolerance
Partition: 分区。一个分布式系统里面,集群本身是作为一个整体对外提供服务,集群本身是连通的。分布式环境下网络不可信是现状,因为网络故障(等种种原因)节点间不连通了,划分成几个区域,每个区域都成为一个分区。
Tolerance:容忍。分区产生后在数据层面没有问题,说明是可容忍的。怎么理解这句话?举个简单的例子,如果某个数据仅存在A节点,A、B独自形成分区后就是无法容忍的ÿ