1、一致性(Consistency)(C): 在分布式系统中的所有数据备份,在同一时刻是否同样的值。(等同于所有节点访问同一份最新的数据副本)

2、 可用性(Availability)(A): 在集群中一部分节点故障后,在一定时间内,集群整体是否还能响应客户端的读写请求。(对数据更新具备高可用性)

3、分区容错性(Partition tolerance)(P): 以实际效果而言,分区相当于对通信的时限要求。系统如果不能在时限内达成数据一致性,就意味着发生了分区的情况,必须就当前操作在C和A之间做出选择。

ACID:

    Automaticy    原子性

    Consistency    一致性

    Isolation        隔离性

    Durability    持久性

CAP:

    Consistency    最终一致性

    Availability    可用性

    Partition tolerance    分区容错性

BASE:

    Basically Available    基本可用

    Soft state    软状态

    Eventually consistent    最终一致性

分布式事务:

    2PC:    Two-Phase Commit

    阶段一:    提交事务请求

    阶段 二:    执行事务请求

    3PC:    Three-Phase Commit

    阶段一:    CanCommit

    阶段二:    PreCommit

    阶段三:    DoCommit

CAP理论

定理: 任何分布式存储系统只可同时满足两点,没法三者兼顾。

忠告: 架构师不要将精力浪费在如何设计能满足三者的完美分布式系统,而是应该进行取舍


原因总的来说就是: 数据存在的节点越多,分区容错性(P)越高,但要复制更新的数据就越多,一致性(C)就越难保证。为了保证一致性,更新所有节点数据所需要的时间就越长,可用性(A)就会降低。


MySQL:    满足CA

Zookeeper:    满足CP

相关文章:

  • 2021-04-09
猜你喜欢
  • 2021-07-08
  • 2021-12-11
相关资源
相似解决方案