CAP 定理的理解
CAP 定理(CAP theorem)又被称作布鲁尔定理(Brewer's theorem),是加州大学伯克利分校的计算机科学家埃里克·布鲁尔(Eric Brewer)在 2000 年的 ACM PODC 上提出的一个猜想。2002 年,麻省理工学院的赛斯·吉尔伯特(Seth Gilbert)和南希·林奇(Nancy Lynch)发表了布鲁尔猜想的证明,使之成为分布式计算领域公认的一个定理。对于设计分布式系统的架构师来说,CAP 是必须掌握的理论。
CAP:
Consistency
Availability
Partition tolerance
一般简述就是:
对于一个分式计算系统,不能同时满足一致性、可用性、分区容错性
更精确的解释:
在一个分布式系统(指互相连接并共享数据的节点的集合)中,当涉及读写操作时,只能保证一致性(Consistence)、可用性(Availability)、分区容错性(Partition Tolerance)三者中的两个,另外一个必须被牺牲。
CAP更强调的是数据的读写,数据的共享。
由于无法同时满足C和A,所以分布式系统理论上只能选择CP和AP架构,但是一个系统并不是只固定死就是AP的或者是CP的,系统中各个不同数据,可以应用不通的架构。
更多参考,李运华的学架构。
其他参考资料
http://www.ruanyifeng.com/blog/2018/07/cap.html
评论