CAP理论--分布式系统中永恒不变的定律

502 阅读2分钟

这是我参与11月更文挑战的第6天,活动详情查看:2021最后一次更文挑战

定义

  • CAP理论: CAP三个字母分别代表了分布式系统中三个相互矛盾的属性:
    • Consistency: 一致性. 在CAP理论中的所说的副本一致性特别代指强一致性
    • Availablity: 可用性. 在分布式系统中,即使系统在出现异常时仍然可以提供服务
    • Tolerance to the partition of network: 分区容忍. 在分布式系统中,系统可以对网络分区这种异常情况进行容错处理

描述

  • CAP理论指出,无法设计一种分布式协议,使得同时完全具备CAP三种属性:
    • 协议下的副本始终是强一致性
    • 服务始终是可用的
    • 协议可以容忍任何网络分区异常
  • 分布式系统协议只能在CAP这三者之间折中

意义

  • CAP理论的意义:
    • 明确提出不要妄图去设计一种对CAP三大属性都完全拥有的完美系统
    • 这种系统在理论上就已经被证明是不存在的

分布式系统协议

Lease机制

  • Lease机制牺牲了部分异常情况下的A(可用性), 从而获得了完全的C(一致性) 和很好的P(分区容忍)

Quorum机制

  • Quorum机制在CAP三大因素中都各自做了折中,有一定的C(一致性), 有较好的A(可用性), 也有较好的P(分区容忍). 是一种较为平衡的分布式协议

两阶段提交协议

  • 两阶段提交系统具有完全的C(一致性), 很差的A(可用性) 以及很差的P(分区容忍)

Paxos协议

  • 同样是强一致性协议 ,PaxosCAP三方面较两阶段提交协议要更好
  • Paxos具有完全的C(一致性), 较好的A(可用性) 以及较好的P(分区容忍)
  • PaxosA(可用性)P(分区容忍) 的属性和Quorum机制类似,因为Paxos协议本身就具有Quorum机制的因素