CAP理论

CAP理论指出,在分布式系统中,无法同时保证一致性(C)、可用性(A)和分区容错性(P)。通常,系统必须在CP或AP之间做出选择。在实践中,可以通过牺牲一致性或可用性来应对网络分区,如使用最终一致性或降级服务以保持可用性。Google的Spanner是一个接近CA的系统,但在分区时仍会牺牲可用性以保持一致性。分布式系统设计应根据业务需求灵活选择和优化CAP的平衡点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 初识 CAP 理论

  CAP 理论是加州理工大学伯克利分校的 Eric Brewer 教授在 2000 年 7 月的 ACM PODC 会议上首次提出的,它是 Eric Brewer 在 Inktomi 期间研发搜索引擎、分布式 Web 缓存时得出的关于数据一致性( C:Consistency )、服务可用性( A:Availability )、分区容错性( P:Partition-tolerance )的一个著名猜想:

It is impossible for a web service to provide the three following guarantees :
Consistency, Availability and Partition-tolerance.

  在这个猜想提出的 2 年以后,来自麻省理工学院的 Seth Gilbert 和 Nancy Lynch 从理论上证明了 Eric Brewer 教授的 CAP 猜想是成立的,从此,CAP 理论在学术上正式成为了分布式领域公认的定理,并深刻影响着分布式系统的发展。

  证明过程可以参考论文《Brewer’s conjecture and the feasibility of consistent, available, partition-tolerant web services》

2. CAP 理论

CAP 理论对分布式系统的特性做了高度抽象,形成了三个指标:

  • 一致性(Consistency)
  • 可用性(Availability)
  • 分区容错性(Partition Tolerance)
2.1 一致性(C)

  一致性是当访问多个节点时能得到同样的值。
  一致性是指强一致性( Strong Consistency ),又叫线性一致性( Linearizable Consistency ),它要求多节点组成的分布式系统,能像单节点一样运作,如果一个写操作返回成功,那么之后的读请求都必须读到这个新数据;如果返回失败,那么所有的读操作都不能读到这个数据。
  备注:一致性中除了强一致性之外,还有其他的一致性级别,比如序列一致性( S

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值