分布式系统 - CAP理论

CAP定义

  • Partition Tolerance分区容错性
    1. 首先是分区性,其次任意分区异常都能提供读写服务
    2. 分区性是为了更好的可用性
    3. 通过热备份,请求转发等分布式技术实现
  • Consistency 一致性
    1. 服务之间数据完全同步
    2. 分布式系统通过分区间通讯和一致性算法实现,分布式系统可能造成无限等待或者超时终止
    3. 涉及到钱财等不能有一丝让步的场景下必须保证Consistency
  • Availability 可用性
    1. 在任何时候都能提供读写服务
    2. 没有分区性如何保证可用性?

CAP只能满足其中两点

  • 满足CA,数据必须一致,客户请求不能阻塞,事实上没有分区容错性,就没有更好的可用性
  • 满足CP,在任意分区出现问题时,都会造成服务不可用,这种分布式设计通常不是为了增加可用性,而是增加服务资源
  • 满足AP,不追求服务之间完全同步,追求返回一致性或者最终一致性,我感觉返回一致性约等于CAP同时实现

数据库ACID原理

一致性算法

Session同步机制