CAP原理

在分布式服务大行其道的今天,我们经常会听到CAP原理这个词?

那么什么是CAP原理,

CAP原理是现代分布式系统的理论基石,好比是分布式领域的牛顿定律。CAP原理发布后,各种分布式存储中间件如雨后春笋般一个个冒出来了。我们这里只理解CAP,不对其原理做深入研究。

关于cap的论证:一句话明白CAP原理(1)

CAP三个字母分别代表:

分布式系统之所以叫分布式,是因为提供服务的各个节点分布在不同机器上,相互之间通过网络交互。那么必然存在网络故障断开的风险,这个网络断开的专业场景成为网络分区。

在网络分区发生时,两个分布式节点之间无法进行通信,那么我们对一个节点进行的修改操作将无法同步到另外一个节点,所以数据的「一致性」将无法满足,因为两个分布式节点的数据不再保持一致。除非我们牺牲「可用性」,也就是暂停分布式节点服务,在网络分区发生时,不再提供修改数据的功能,直到网络状况完全恢复正常再继续对外提供服务。或者为了保证可用性,而牺牲数据一致性。

关于cap的论证:一句话明白CAP原理(2)

所以,CAP一句话就是,在网络分区时,不能同时保证可用性和一致性。

为了保证分布式中间件的可用性,大部分中间件会支持最终一致性。

关于cap的论证:一句话明白CAP原理(3)

,