简述 CAP 原理
分布式框架理论-CAP
一致性(Consistency)
可用性(Availability)
分区容忍性(Partition tolerance)
一、一致性
在一个分布式的系统中,所有的存储数据的节点或者备份,在相同的时间点上的值是相同的。
二、可用性
在一个集群中,其中的一个或者一部分节点出现故障后,集群还能被正常的访问与响应客户端发来的请求。
三、分区容忍性
分区是对客户端请求的时限要求,如果系统内的数据节点不在一定的时间内达成一致,就发生了分区的情况,就需要在多种结果之间作出抉择,作为最终的响应。
CAP 三者不能兼得,要么 AP,要么 AC ,要么 CP,
在分布式架构设计时,必须要做出取舍。
衍生(摘抄自百度百科) CAP 与 BASE 的关系,BASE 是以下三个短语:
1、Basically Available -基本可用
系统出现故障,响应时间增加,但是一定会返回结果
2、Soft state -软状态
和硬状态相对,是指允许系统中的数据存在中间状态,该中间状态不会影响系统的整体可用性,即允 许系统在不同节点的数据副本之间进行数据同步的过程存在延时。
3、Eventually consistent- 最终一致性
强调的是系统中所有的数据副本,在经历过一段时间的同步后,最终能够达到一个一致的状态。因此最终一致性的本质是需要系统保证最终数据能够达到一致,而不需要实时保证数据系统的强一致性。
Base 是对 CAP 中一致性和可用性权衡的结果,来源于对大规模互联网系统分布式实践的结论,是基于 CAP 定理逐步演化而来的,核心思想是即使无法做到强一致性(Strong consistency), 但每个应用都可以根据自身的业务特点,采用适当的方法来使系统达到最终一致性(Eventually consistecy.)
评论