分布式系统 - CAP、BASE原理以及ACID

CAP定理

consistency: all nodes see the same data at the same time.
available: Reads and writes always succeed.
Partition tolerance: the system continues to operate despite arbitrary message loss or failure of part of the system.

在一个分布式系统中,CAP定理的三个特性在同一时间只能保证两个。

  1. 一致性:在更新操作完成之后,所有节点的数据在同一时间是一致的。
  2. 可用性:服务一直可用,且其响应时间在正常范围之内。
  3. 分区容错性:在分布式系统遇到某些节点或者网络错误时,仍然能够对外提供满足一致性或者可用性的服务(即容错性呗,在某些节点挂掉之后,还能够保证系统正常运行)。
    CAP原理举例参考

BASE定理

BASE理论也有三个特性,基本可用性、软状态、最终一致性。

BASE理论是在CAP定理的基础上做的一种延申,其核心思想是,即使无法做到强一致性,也要采用适当的方式达到最终一致性。

  1. 基本可用性:在系统出现故障的时候,允许损失部分可用性,保证核心可用。
  2. 软状态:允许系统存在中间状态,而中间状态不会影响系统整体可用性。(分布式存储中一般一份数据会有三个副本,允许不同节点间副本的延时就是软状态的体现。)
  3. 最终一致性:系统中的所有副本,在经过一定时间后,最终能够达到数据一致性。(最终一致性是弱一致性的体现)

ACID

ACID是传统的关系型数据库设计理念,追求一致性模型。BASE支持的是大型分布式系统,提出通过牺牲一致性获得高可用性。

ACID 和 BASE 是两种不同的设计哲学

系统组件对一致性要求不同,有时ACID和BASE结合使用


参考文献

CAP原则(CAP定理)、BASE理论

CAP和BASE理论

猜你喜欢

转载自blog.csdn.net/qq_39378657/article/details/110549841