CAP 定理的理解

发布于: 2020 年 07 月 16 日

CAP 定理(CAP theorem)又被称作布鲁尔定理(Brewer's theorem),是加州大学伯克利分校的计算机科学家埃里克·布鲁尔(Eric Brewer)在 2000 年的 ACM PODC 上提出的一个猜想。2002 年,麻省理工学院的赛斯·吉尔伯特(Seth Gilbert)和南希·林奇(Nancy Lynch)发表了布鲁尔猜想的证明,使之成为分布式计算领域公认的一个定理。对于设计分布式系统的架构师来说,CAP 是必须掌握的理论。

CAP:

  1. Consistency

  2. Availability

  3. Partition tolerance

一般简述就是:

对于一个分式计算系统,不能同时满足一致性、可用性、分区容错性

更精确的解释:

在一个分布式系统(指互相连接并共享数据的节点的集合)中,当涉及读写操作时,只能保证一致性(Consistence)、可用性(Availability)、分区容错性(Partition Tolerance)三者中的两个,另外一个必须被牺牲。

CAP更强调的是数据的读写,数据的共享。

由于无法同时满足C和A,所以分布式系统理论上只能选择CP和AP架构,但是一个系统并不是只固定死就是AP的或者是CP的,系统中各个不同数据,可以应用不通的架构。

更多参考,李运华的学架构。

其他参考资料

http://www.ruanyifeng.com/blog/2018/07/cap.html

http://robertgreiner.com/2014/08/cap-theorem-revisited/

https://zh.wikipedia.org/wiki/CAP%E5%AE%9A%E7%90%86

用户头像

Arthur.Li

关注

人要成长 2017.10.18 加入

原子戈

评论

发布
暂无评论
CAP定理的理解