CAP理论:
CAP原则又称CAP定理,指的是在一个分布式系统中, Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性),三者不可得兼。换句话说,就是说在一个系统中对某个数据不存在一个算法同时满足 Consistency, Availability, Partition-tolerance。
概念:
一致性:指的是强一致性。就是说在分布式系统完成某个写的操作以后,在此之后的任何读操作都应该读到的是最新的数据。即保证分布式系统中的任意节点在任意时刻都要保证数据一致。
可用性:系统提供的服务一直处于可用状态,用户的操作请求在指定的响应时间内响应请求,超出时间范围,认 为系统不可用。
分区容错性:指分布式系统中的某个节点或者网络分区出现了故障的时候,整个系统仍然能对外提供满足一致性和可用性的服务。也就是说部分故障不影响整体使用。以实际效果而言,分区相当于对通信的时限要求。系统如果不能在时限内达成数据一致性,就意味着发生了分区的情况,必须就当前操作在C和A之间做出选择。
在一个分布式系统中不可能同时满足一致性、可用性、分区容错性,最多满足两个,对于分布式互联网 应用而言,必须保证P,所以要么满足AP模型、要么满足CP模型。
一致性(C):所有节点都可以访问到最新的数据
可用性(A):每个请求都是可以得到响应的,不管请求是成功还是失败
分区容错性(P):除了全部整体网络故障,其他故障都不能导致整个系统不可用
CA - 单点集群,满足一致性,可用性的系统,通常在可扩展性上不太强大。
CP - 满足一致性,分区容忍必的系统,通常性能不是特别高。
AP - 满足可用性,分区容忍性的系统,通常可能对一致性要求低一些。
一般分布式系统中,肯定是优先保证P,剩下的就是C和A的取舍。
领取专属 10元无门槛券
私享最新 技术干货