分布式系统CAP理论基础

在分布式系统的基础理论里,有一个CAP理论。它包含三个特性:

1.一致性(Consistency):数据一致性

2.可用性(Availability):服务可用性

3.分区容错性(Partition tolerance):服务对网络分区故障的容错性

分布式系统CAP理论基础_第1张图片 

也就是上图所示,分布式系统最多满足其中两个条件。要么CA,要么AP,要么CP。

一致性指的是分布式系统中得某个节点对某个数据进行任何读写操作后,都应该获取到当前数据的最新值,相当于各个节点保持数据的一致性。

可用性指的是分布式系统一直可以进行读写操作,客户端请求接口,都能得到正常响应,对用户客户端来讲,系统不会出现操作失败或者访问超时等问题。

分区容错性指的是分布式系统某个节点或者网络出现故障的时候,整个系统能够对外提供满足数据一致性和可用性的服务。即部分故障不影响整体使用。

这三者不可兼得,那该如何取舍?

CA:优先保证数据一致性和服务可用性,放弃分区容错,这就意味着放弃系统扩展性,系统不再是分布式,有违初衷。

CP:优先保证服务可用和分区容错,放弃可用性。在数据一致性要求比较高的场合,这是常见的作法,一旦网络故障或者消息丢失,会牺牲服务可用性,使得无法提供服务给用户,牺牲用户体验,等系统服务恢复了,再提供服务。

AP:优先保证服务可用性和分区容错性,放弃一致性。放弃一致性,并不是一致性不保证了,而是逐渐变得一致。

 

你可能感兴趣的:(Springcloud,Alibaba,分布式,CAP理论)