作者:IT有意思
发布时间:2018年10月14日
网络来源:百度百家号
在分布式服务大行其道的今天,我们经常会听到CAP原理这个词?
那么什么是CAP原理,
CAP原理是现代分布式系统的理论基石,好比是分布式领域的牛顿定律。CAP原理发布后,各种分布式存储中间件如雨后春笋般一个个冒出来了。我们这里只理解CAP,不对其原理做深入研究。
CAP三个字母分别代表:
C – Consistent ,一致性
A – Availability ,可用性
P – Partition tolerance ,分区容错性
分布式系统之所以叫分布式,是因为提供服务的各个节点分布在不同机器上,相互之间通过网络交互。那么必然存在网络故障断开的风险,这个网络断开的专业场景成为网络分区。
在网络分区发生时,两个分布式节点之间无法进行通信,那么我们对一个节点进行的修改操作将无法同步到另外一个节点,所以数据的「一致性」将无法满足,因为两个分布式节点的数据不再保持一致。除非我们牺牲「可用性」,也就是暂停分布式节点服务,在网络分区发生时,不再提供修改数据的功能,直到网络状况完全恢复正常再继续对外提供服务。或者为了保证可用性,而牺牲数据一致性。
所以,CAP一句话就是,在网络分区时,不能同时保证可用性和一致性。
为了保证分布式中间件的可用性,大部分中间件会支持最终一致性。