一、定义

C:Consistenct(强一致性)
A:Availiablity(高可用性)
P:Partition tolerance(分区容错性)

二、经典CAP图

三、CAP的3进2

CAP理论的核心是:一个分布式系统不可能同时很好的满足一致性、可用性和分区容错性这三个需求,最多只能同时较好的满足两个。而由于当前的网络硬件肯定会出现延迟丢包等问题,分区容忍性是我们必须需要实现的,所以我们只能在一致性和可用性之间进行权衡。

如:CA 传统Oracle数据库、AP 大多数网站架构的选择、CP Redis、Mongodb
注意:分布式架构的时候必须做出取舍。

满足 CA 原则、满足 CP 原则和满足 AP 原则的选择:
CA - 单点集群,满足一致性,可用性的系统,通常在可扩展性上不太强大。
CP - 满足一致性,分区容忍性的系统,通常性能不是特别高。
AP - 满足可用性,分区容忍性的系统,通常可能对一致性要求低一些。

四、BASE是什么

BASE其实是下面三个术语的缩写:
基本可用(Basically Available):响应时间上的损失和功能上的损失
软状态(Soft state):允许系统中的数据存在中间状态
最终一致(Eventually consistent):系统能够保证在没有其他新的更新操作的情况下,数据最终一定能够达到一致的状态

它的思想是通过让系统放松对某一时刻数据一致性的要求来换取系统整体伸缩性和性能上改观。为什么这么说呢,缘由就在于大型系统往往由于地域分布和极高性能的要求,不可能采用分布式事务来完成这些指标,要想获得这些指标,我们必须采用另外一种方式来完成,这里BASE就是解决这个问题的办法。

分布式系统CAP定理相关推荐

  1. 架构师之路 — 分布式系统 — CAP 定理

    目录 文章目录 目录 CAP 定理 C(Consistency,一致性) A(Availability,可用性) P(Partition tolerance,分区容错性) CAP 的组合 CP(con ...

  2. 分布式系统——CAP定理

    概述 CAP原则又称CAP定理,指的是在一个分布式系统中,一致性(Consistency).可用性(Availability).分区容错性(Partition tolerance).CAP 原则指的是 ...

  3. 从另一个角度理解分布式系统与CAP定理

    从另一个角度理解分布式系统与CAP定理 参考:性能之殇(七)-- 分布式计算.超级计算机与神经网络共同的瓶颈 分布式计算的本质 分布式系统的产生,来源于源于人们日益增长的性能需求与落后的x86架构之间 ...

  4. 分布式系统不得不说的CAP定理

    21天学会C语言?3天学会弹钢琴? 放弃一切错误方法,从今天开始"刻意练习", 因为这才是最强大的,也是唯一正确的学习方法. --<刻意练习>Anders Ericss ...

  5. 【分布式系统】CAP定理是什么?

    目录 分布式系统CAP理论概述 分布式系统 分布式系统CAP中的"C" 一致性 (Consistency) 分布式系统CAP中的"A" 可用性 (Availab ...

  6. 谷歌新发布的分布式数据库服务,是要打破CAP定理了吗?

    谷歌新发布的分布式数据库服务,是要打破CAP定理了吗? 本来来自:Original 2017-02-19 作者|登州知府 2月14日,Google 宣布推出 Cloud Spanner 云端数据库服务 ...

  7. 分布式理论(一) - CAP定理

    前言 CAP原则又称CAP定理,指的是在一个分布式系统中,Consistency(一致性). Availability(可用性).Partition tolerance(分区容错性)这三个基本需求,最 ...

  8. 浅谈分布式CAP定理

    2019独角兽企业重金招聘Python工程师标准>>> 互联网发展到现在,由于数据量大.操作并发高等问题,大部分网站项目都采用分布式的架构.而分布式系统最大的特点数据分散,在不同网络 ...

  9. 【分布式】1、CAP原则(CAP定理)、BASE理论

    CAP原则又称CAP定理,指的是在一个分布式系统中, Consistency(一致性). Availability(可用性).Partition tolerance(分区容错性),三者不可得兼. CA ...

最新文章

  1. 教你如何在C++二进制文件中注入git信息
  2. petshop4.0 详解之一(系统架构设计)
  3. [css] css中Scroll-behavior属性有什么应用场景?
  4. centos7 编译安装mysql-5.7.18
  5. 解析|不懂销售数据分析,就是一笔糊涂账!
  6. 基于JAVA+SpringMVC+Mybatis+MYSQL的校园订餐系统
  7. python并行计算_Python并行计算初探
  8. 基于OpenCV的计算机视觉入门(5)图像美化(下)
  9. ddr3和ddr4插槽一样吗(笔记本ddr4和ddr3插槽)
  10. DreamweaverCS6 破解补丁和说明
  11. C语言基础——求1加到100的和
  12. sprd bootloader 分析流程
  13. jacob根据word模板生成文
  14. 色彩大全,色彩配色大全
  15. 群晖的home和homes共享文件夹介绍
  16. 未来计算机游戏,未来可追 ROG光刃G15游戏电脑首发登场
  17. 大数据分析师是干嘛的?主要工作做什么
  18. Python爬取百度地图智慧交通-城市拥堵指数
  19. SSH隧道动态转发端口实现SOCKS代理 + HTTP代理(Privoxy)
  20. 一文总结旋转目标检测全面综述:论文方法与代码

热门文章

  1. openjdk platform binary是什么进程_基于pytest实现appium多进程兼容性测试
  2. Win32多线程编程(5) — 线程局部存储
  3. PyCairo 中的基本绘图
  4. MySQL的内置函数
  5. QUIC协议的演进之路
  6. AI视觉在教育场景中的创新应用
  7. 网易易盾李雨珂:服务性能+算法确定性优化,迎接5G时代内容安全爆发式流量增长...
  8. B站Up主上传质量调优实践
  9. 曾小伟:谁没被“不可思议”的薪资吸引过?
  10. 向 Fiddler 告别,拥抱 Fastest 吧!