架构师训练营 - 第六周 - 命题作业
请简述 CAP 原理
概念描述
一致性:Consistency,也被称为源自对象,CUD更新操作成功并返回客户端完成后,所有节点看到的数据完全一直,等同于所有节点拥有数据的最新版本;
可用性:Avaliability,亦称为请求的可终止性,服务一直可用,而且正常响应。一般用SLA来描述可用性,比如: 99.9%;
分区容忍性:Partition Tolerance,当部分节点出现消息丢失或者分区故障时,分布式系统仍然能够继续,即系统容忍网络出现分区。
CAP理论证明(反证法)
若CAP三者可以同时满足,由于允许P的存在,则一定存在Server之间的丢包,如此则不能保证C;
CAP理论的应用
CAP理论提醒我们在架构设计中不要想着设计一个能满足三者的完美分布式系统,只能选择其二。案例如下:
对于微博来说,发表评论和点赞,用户对于不一致是不敏感的,可以容忍相对较长时间的不一致;
在电商购物时,产品价格数据则要求强一致性的;
典型的 CP 和 AP 架构
CP架构:放弃可用性,追求一致性和分区容错性,比如Zookeeper采用CP一致性。
AP架构:放弃强一致性,追求分区容错性和可用性,比如Base就是根据AP来扩展的。
版权声明: 本文为 InfoQ 作者【sljoai】的原创文章。
原文链接:【http://xie.infoq.cn/article/d64fe516a86f8752b086cb980】。文章转载请联系作者。
评论