2019独角兽企业重金招聘Python工程师标准>>>

CAP:

C:一致性:在分布式系统中是指多个副本之间能否保持一致性;

A:可用性:系统提供的服务必须一直处于可用的状态,对于用户的每一个请求总是在有限的时间内返回结果;

P:分区容错性:该特性约束了分布式系统需要具备以下特性:分布式系统遇到网络分区故障的时候,仍然需要能保证对外提供满足一致性和可用性的服务,除非整个网络环境都发生故障。

CAP定理示意图

由此可见要想三方面都与考虑到,那是不可能,我们只能妥协,

放弃CAP     说明
放弃A

如果希望能够避免分区容错性,那么最简单的方法就是将所有的数据放到分布式的一个节点上,但是有一点就是放弃P就意味着放弃了系统扩展的可能性。

放弃C

相对于放弃“分区容错性”来说,放弃可用性正好相反,其做法就是一旦系统遇到网络分区或其他故障的时候,那么影响的服务就需要等待一段时间,因为等待期间系统无法对外提供服务,即不可用。

放弃P

这里说的放弃一致性,并不是完全不需要数据一致性,如果是那样的话,系数据就没有什么意义,系统也就没有什么意义。

事实上,此处所说的放弃一致性是指放弃强一致性,保存了数据最终一致性,这样的系统无法保证数据实时一直,但是承诺的是,数据最终会达到一个一致的状态。具体多久能达到一致性,取决于系统的设计,主要就是不同副本之间数据的复制时间长短

由此可以看出,我们不可能丢弃A和C,只能在P上面做文章,

Base定理:

Basically Available:基本可用,分布式系统出现不可预知的错误的时候,允许损失部分可用性,但是绝对不等于系统不可用;

Soft State:软状态:和强状态对应,是指允许系统中的数据存在中间状态,并且认为该中间状态不会影响系统的可用性,即允许系统不同节点之间的数据副本复制存在延时;

Eventually consistent:最终一致性  ,最终一致性强调的是系统中所有的数据副本,在经过一段时间的同步过后,最终能达到一个一致性的状态。因此最终一致性的本质就是需要系统保证数据最终能达到一致,但是不需要实时保持数据一致的情况。

综上我们会发现基本都是在分区一致性上做文章,待续...

转载于:https://my.oschina.net/u/1034481/blog/824355

三:CAP与Base理论相关推荐

  1. 看《大明王朝1566》聊分布式中的CAP和BASE理论

    概述 CAP 和 BASE 理论 基本上接触过分布式系统的朋友都知道 CAP 和 BASE 理论,这两个理论对工程实践中的分布式架构设计具有重要的影响.CAP 理论是加州大学伯克利分校的 Eric B ...

  2. CAP与Base理论

    分布一致性的提出 在分布式系统中要解决的一个重要问题就是数据的复制.在我们的日常开发经验中,相信很多开发人员都遇到过这样的问题:假设客户端C1将系统中的一个值K由V1更新为V2,但客户端C2无法立即读 ...

  3. 10分钟了解分布式CAP、BASE理论

    CAP理论 2000年7月,Eric Brewer教授提出CAP猜想:2年后,Seth Gilbert和Nancy Lynch从理论上证明了CAP:之后,CAP理论正式成为分布式计算领域的公认定理.C ...

  4. 【架构师-系统设计】理解分布式系统的CAP和BASE理论

    文章内容 CAP理论 概述 CAP定义 CAP理论的三选二的艰难抉择 CA,AP,CP的实践者 CAP的小结 BASE理论 概述 BASE定义 BASE与ACID BASE小结 原文请移步这里

  5. 分布式系统核心理论之CAP、BASE理论

    CAP CAP是Consistency.Availablity.Partition-tolerance的缩写,由计算机科学家埃里克·布鲁尔在2000年提出的,所以又称布鲁尔定理(Brewer's th ...

  6. base cap 分布式_1、分布式基础之CAP和BASE理论

    ACID 是数据库事务完整性的理论,CAP 是分布式系统设计理论,BASE 是 CAP 理论中 AP 方案的延伸. 一.从集中式到分布式 1.集中式 集中式是指有一台或者多台计算机组成的中心节点,数据 ...

  7. CAP和BASE理论

    1. CAP理论 2000年7月,加州大学伯克利分校的Eric Brewer教授在ACM PODC会议上提出CAP猜想.2年后,麻省理工学院的Seth Gilbert和Nancy Lynch从理论上证 ...

  8. 事务原理:ACID,CAP和BASE理论及分布式事务一致性案例

    分布式系统一致性的需求 需求定义 Safety Only a value that has been proposed may be chosen. Only a single value is ch ...

  9. 分布式之cap、base理论、flp不可能原理、一致性问题、共识算法

    一.CAP理论 CAP理论:在一个分布式系统中,最多只能满足C.A.P中的2个. CAP含义: C:Consistency 一致性:同一数据的多个副本是否实时相同.all nodes see the ...

  10. 从分布式环境的特点、问题到CAP、BASE理论详解

    分布式的特点: 定义: 分布式系统是一个硬件或者软件组件分布在不同的网络计算机上,彼此之间仅仅通过网络进行通信和协调的系统. 特点: 同一个分布式系统中的计算机在空间部署上可以是任意分布的,这些计算机 ...

最新文章

  1. com.android.vivi删除,vivi命令详解
  2. 核磁共振影像数据处理-2-DWI实践:计算ADC (MD) map、Li‘s have a solution and plan.
  3. linux连sql server
  4. 实现table鼠标移动改变table行背景色
  5. Anroid View事件响应机制和ViewGroup的事件响应分发机制
  6. MySQL CONCAT函数:字符串拼接
  7. Linux基本命令之date命令的参数及获时间戳的方法
  8. mysql 错误代码:1293
  9. 爬虫实例6 爬取联英人才网147页招聘信息,并导入数据库
  10. 高净值人群依靠什么可以挣那么多钱?
  11. android看本地视频播放器下载,Android平台上5款最好的本地视频播放软件
  12. 关于idea导入项目不能运行的原因
  13. 压力换算公斤单位换算_压力表单位换算
  14. nexus5 android5.0 型号LRX210 ROOT
  15. 如何学习游戏服务器端编程和书籍推荐
  16. 多表查询和动态SQL
  17. 安全检查未通过_QQ群文件未通过安全检查,禁止下载该文件解决办法(QQ收藏)
  18. 单模光纤和多模光纤的区别,以及作用
  19. PYTHON对接语音验证码接口案列
  20. 【艾琪出品】《计算机应用基础》【试题汇总1】

热门文章

  1. openstack学习笔记三 创建第一个实例
  2. 浅谈压缩感知(二十一):压缩感知重构算法之正交匹配追踪(OMP)
  3. 【转】Alert Log Messages: Private Strand Flush Not Complete [ID 372557.1]
  4. FD.io/VPP — IPSec NAT-T
  5. Ceph 故障修复记录(持续更新)
  6. OpenStack 虚拟机的磁盘文件类型与存储方式
  7. 分布式理论(一) - CAP定理
  8. Linux常用基本命令:三剑客命令之-awk输入输出分隔符
  9. Spring-Boot:5分钟掌握SpringBoot开发
  10. js实现-限时抢购倒计时间表