我是靠谱客的博主 从容茉莉,最近开发中收集的这篇文章主要介绍详解CAP理论背景定义解读CAP权衡参考,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

背景

CAP理论在1998年首次被提出,1999年被发表为文章,2000年Brewer在PODC大会演说时将CAP作为假设,2002年才被证明为定理。CAP定理属于理论计算机科学中的内容。

定义

一个分布式系统最多只能同时满足 一致性(Consistency),可用性(Availability)和分区容错性(Partition tolerance)这三项中的两项。

这里写图片描述

解读

CAP的定义如下:

GuaranteesDefinition
ConsistencyEvery read receives the most recent write or an error
AvailabilityEvery request receives a response, without guarantee that it contains the most recent version of the information
Partition toleranceThe 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权衡参考所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(57)

评论列表共有 0 条评论

立即
投稿
返回
顶部