Skip to content

Latest commit

 

History

History
 
 

12

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 

CAP理论

CAP是指的是 分布式系统不能全部满足 C 一致性 A可用性 P 分区容忍性

一致性指的是多个数据副本是否能保持一致的特性

可用性指分布式系统在面对各种异常时可以提供正常服务的能力

网络分区指分布式系统中的节点被划分为多个区域,每个区域内部可以通信,但是区域之间无法通信。

在分布式系统中,分区容忍性必不可少,因为需要总是假设网络是不可靠的。因此,CAP 理论实际上是要在可用性和一致性之间做权衡。

可用性和一致性往往是冲突的,很难使它们同时满足。在多个节点之间进行数据同步时,

为了保证一致性(CP),不能访问未同步完成的节点,也就失去了部分可用性; 为了保证可用性(AP),允许读取所有节点的数据,但是数据可能不一致。

所以说分区容忍必须满足 一致性和可用性保留其一。

BASE 理论

基本可用 指分布式系统在出现故障的时候,保证核心可用,允许损失部分可用性。

例如,电商在做促销时,为了保证购物系统的稳定性,部分消费者可能会被引导到一个降级的页面。

软状态 指允许系统中的数据存在中间状态,并认为该中间状态不会影响系统整体可用性,即允许系统不同节点的数据副本之间进行同步的过程存在时延。

最终一致性 最终一致性强调的是系统中所有的数据副本,在经过一段时间的同步后,最终能达到一致的状态。

ACID 要求强一致性,通常运用在传统的数据库系统上。而 BASE 要求最终一致性,通过牺牲强一致性来达到可用性,通常运用在大型分布式系统中。

在实际的分布式场景中,不同业务单元和组件对一致性的要求是不同的,因此 ACID 和 BASE 往往会结合在一起使用。