CAP

  • 一致性(Consistency), 客户端的每次读操作,不管访问哪个节点,要么读到的都是同一份最新写入的数据,要么读取失败
  • 可用性(Availability), 任何来自客户端的请求,不管访问哪个非故障节点,都能得到响应数据,但不保证是同一份最新数据
  • 分区容错性(Partition Tolerance), 当节点间出现任意数量的消息丢失或高延迟的时候,系统仍然在继续工作 (当系统分区后, 选择 C 还是选择 A 的问题)

在分布式系统中分区容错性是必须要考虑的.

CAP 不可能三角

CAP 不可能三角说的是对于一个分布式系统而言,一致性(Consistency)、可用性(Availability)、分区容错性(Partition Tolerance)3 个指标不可兼得,只能在 3 个指标中选择 2 个。

image.png

其他

酸碱 指?

  • 酸(Acid)
  • 碱(Base)

CAP 的角色

它源自高可用、高扩展大型互联网系统的实践,强调在数据一致性(ACID)和服务可用性(BASE)之间权衡妥协。在我看来,CAP 理论像 PH 试纸一样,可以用来度量分布式系统的酸碱值,帮助我们思考如何设计合适的酸碱度,在一致性和可用性之间进行妥协折中,设计出满足场景特点的分布式系统。