分布式场景下的CAP理论
CAP 理论
CAP理论是关于数据一致性( C:Consistency )、服务可用性( A:Availability )、分区容错性( P:Partition-tolerance )。
CAP 理论告诉我们,一个分布式系统不可能同时满足数据一致性、服务可用性和分区容错性 这三个基本需求,最多只能同时满足其中的两个。
一致性( C )
这里的一致性是指强一致性,又叫线性一致性,它要求多节点组成的分布式系统,能像单节点一样运作,如果一个写操作返回成功,那么之后的读请求都必须读到这个新数据;如果返回失败,那么所有的读操作都不能读到这个数据。
一致性中除了强一致性之外,还有其他的一致性级别,比如序列一致性( Sequential Consistency )和最终一致性( Eventual Consistency )等。
可用性( A )
可用性指的是要求系统提供的服务必须处于 100% 可用的状态,对于用 户的每一个操作请求,系统总能够在有限的时间内返回结果。
分区容错性( P )
分区指的是在整个分布式系统中,因为网络原因,系统被分隔成多个单独的部分,这里,不同系统之间在正常情况下应该是一个整体,因为网络原因不能通信才会被划分为不同的分区。在现实的分布式系统中,我们面对的就是一个不可靠的网络和有一定概率宕机的设备,这两个 因素都会导致分区出现,因此在分布式系统实现中,分区容错性 P 是一个必须项。
参考
《深入浅出分布式技术原理》