架构师训练营作业 -- Week 6
请简述 CAP 原理。
CAP 定理(CAP theorem)
CAP定理,也叫布鲁尔定理(Brewer's theorem),它指出在一个分布式系统中,不可能同时满足一下三个要求:
一致性(Consistency),指最新的数据在所有节点上都可见。
可用性(Availability),指每个请求都能获得响应,但是数据可能不是最新的。
分区容错性(Partision tolorance),是指在节点间的通信,发生任意数量的数据被丢弃或者延迟时,系统依然可以运行。
在实际场景中,分布式系统遇到网络分区故障时,我们必须作出选择:
放弃一致性,依然响应请求以保证可用性。
放弃可用性,不响应或者延迟响应数据请求,以保证数据一致。
CAP定理告诉我们,在设计分布式系统时,如果我们可以预见分区故障的存在,我们必须在一致性和可用性之间作出选择。
CAP定理最典型的应用场景是数据库系统。下图反映了不同类型的数据库在在三者中做的取舍。
CAP视角的数据库
本文参考了一下文章:
https://en.wikipedia.org/wiki/CAP_theorem
https://www.jianshu.com/p/8ddf9682671c
版权声明: 本文为 InfoQ 作者【吴炳华】的原创文章。
原文链接:【http://xie.infoq.cn/article/067a5ecdf42e4c0b7c8e8c54f】。文章转载请联系作者。
评论