浅谈CAP原则
cap原则被广泛应用在软件开发领域,目前最主要的应用还是在分布式系统中。而分布式系统是一个主流趋势。
CAP原则又称CAP定理,指的是在一个分布式系统中,一致性(Consistency)、可用性(Availability)、分区容错性(Partition tolerance)。CAP 原则指的是,这三个要素最多只能同时实现两点,不可能三者兼顾。

- Consistency 中文叫做"一致性"。意思是,写操作之后的读操作,必须返回该值。
- Availability 中文叫做"可用性",意思是只要收到用户的请求,服务器就必须给出回应。
- Partition tolerance,中文叫做"分区容错",大多数分布式系统都分布在多个子网络。每个子网络就叫做一个区(partition)。分区容错的意思是,区间通信可能失败。
一般来说,分区容错无法避免,因此可以认为 CAP 的 P 总是成立。CAP 定理告诉我们,剩下的 C 和 A 无法同时做到。
一致性和可用性,不能同时成立,原因网络通信不管怎么样都会有失败的可能(出现分区容错),所以正确的方式是提高可用性。
什么是分布式系统?
由此可见CAP原则应用在分布式系统当中,那什么是分布式系统?
分布式是一种架构,主要应用于业务复杂、系统庞大、访问量巨大的场景下。分布式系统有一些特点,1,分布式系统一定是由多个节点组成的系统。节点指的是计算机服务器,而且这些节点一般不是孤立的,而是互通的。2,这些连通的节点上部署了我们的节点,并且相互的操作会有协同。
关于CAP原则衍生出的BASE理论。
BASE
BASE是Basically Available(基本可用)、Soft state(软状态)和Eventually consistent(最终一致性)三个短语的简写,BASE是对CAP中一致性和可用性权衡的结果,其来源于对大规模互联网系统分布式实践的结论,是基于CAP定理逐步演化而来的,其核心思想是即使无法做到强一致性(Strong consistency),但每个应用都可以根据自身的业务特点,采用适当的方式来使系统达到最终一致性(Eventual consistency)。
- 基本可用:指分布式系统在出现不可预知故障的时候,允许损失部分可用性。
- 软状态:也称为弱状态,和硬状态相对,是指允许系统中的数据存在中间状态,并认为该中间状态的存在不会影响系统的整体可用性,即允许系统在不同节点的数据副本之间进行数据同步的过程存在延时。
- 最终一致性:强调的是系统中所有的数据副本,在经过一段时间的同步后,最终能够达到一个一致的状态。因此,最终一致性的本质是需要系统保证最终数据能够达到一致,而不需要实时保证系统数据的强一致性。

浙公网安备 33010602011771号