概述
背景
CAP理论在1998年首次被提出,1999年被发表为文章,2000年Brewer在PODC大会演说时将CAP作为假设,2002年才被证明为定理。CAP定理属于理论计算机科学中的内容。
定义
一个分布式系统最多只能同时满足 一致性
(Consistency),可用性
(Availability)和分区容错性
(Partition tolerance)这三项中的两项。
解读
CAP的定义如下:
Guarantees | Definition |
---|---|
Consistency | Every read receives the most recent write or an error |
Availability | Every request receives a response, without guarantee that it contains the most recent version of the information |
Partition tolerance | The system continues to operate despite an arbitrary number of messages being dropped by the network between nodes |
理解CAP,要先记住它的对象,是分布式系统
。
一致性(Consistency)
一致性
(Consistency),说的是每一个更新成功后,分布式系统中的所有节点,都能读到最新的信息。即所有节点相当于访问同一份内容,这样的系统就被认为是强一致性的。
可用性(Availability)
可用性
(Availability),是每一个请求,都能得到响应。请求只需要在一定时间内返回即可,结果可以是成功或者失败,也不需要确保返回的是最新版本的信息。
分区容错性(Partition tolerance)
分区容错性
(Partition tolerance),是说在网络中断,消息丢失的情况下,系统照样能够工作。这里的网络分区是指由于某种原因,网络被分成若干个孤立的区域,而区域之间互不相通。
这里可以初亏出,如果要满足P,就很难同时满足C和A。
CAP权衡
例1
对于互联网应用,主机多,数据大,部署分散。所以节点故障,网络故障是常态。这种情况下,要保证A和P。舍弃C虽然会影响客户体验,但保证AP,才能不影响用户使用流程。
例2
对于金融领域,必须要保证C和A,舍弃P。所以金融领域的网络设备故障,可能会造成用户无法使用。
参考
- CAP定理,https://en.wikipedia.org/wiki/CAP_theorem
- http://www.cnblogs.com/hxsyl/p/4381980.html
- http://www.hollischuang.com/archives/666
最后
以上就是从容茉莉为你收集整理的详解CAP理论背景定义解读CAP权衡参考的全部内容,希望文章能够帮你解决详解CAP理论背景定义解读CAP权衡参考所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复