写点什么

架构师训练营作业 -- Week 6

用户头像
吴炳华
关注
发布于: 2020 年 07 月 14 日
架构师训练营作业 -- 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



发布于: 2020 年 07 月 14 日阅读数: 58
用户头像

吴炳华

关注

还未添加个人签名 2020.04.08 加入

还未添加个人简介

评论

发布
暂无评论
架构师训练营作业 -- Week 6