CAP定理(CAP theorem)
CAP定理(CAP theorem)
1、在我们写代码的过程中,经常会遇见一些定理,那今天就简单介绍一下什么是CAP定理呢?(CAP定理的说明性证明,有兴趣的可以去看一下)
CAP 定理指出,分布式系统不能同时具有一致性、可用性和分区容忍性。
2、那么再说CAP定理之前我们需要简单了解一下分布式系统与ACP之间的联系
分布式系统的最大难点,就是各个节点的状态如何同步。CAP 定理是这方面的基本定理,也是理解分布式系统的起点。
分布式系统简介:
(1) 分布式系统(distributed system)由多台计算机和通信的软件组件通过计算机网络连接(本地网络或广域网)组成。
(2)分布式系统是建立在网络之上的软件系统。正是因为软件的特性,所以分布式系统具有高度的内聚性和透明性。
(3) 因此,网络和分布式系统之间的区别更多的在于高层软件(特别是操作系统),而不是硬件。
(4) 分布式系统可以应用在不同的平台上如:Pc、工作站、局域网和广域网上等。
3、 在计算机科学中, CAP定理(CAP theorem), 又被称作 布鲁尔定理(Brewer’s theorem), 它指出对于一个分布式计算系统来说,不可能同时满足以下三点:
C:一致性(Consistency) (所有节点在同一时间具有相同的数据,数据要一直处于一致的状态)
A:可用性(Availability) (保证每个请求不管成功或者失败都有响应)
P:分区容错(Partition tolerance) (系统中任意信息的丢失或失败不会影响系统的继续运作,分区:区间的通信可能会失败,分区容错:系统允许出现传输数据失败的情况)
你或许会有疑惑,一致性和可用性,为什么不可能同时成立?答案很简单,因为可能通信失败(即出现分区容错)
4、分布式系统的三个指标
CAP理论的核心是:一个分布式系统不可能同时很好的满足一致性,可用性和分区容错性这三个需求,最多只能同时较好的满足两个。
因此,根据 CAP 原理将 NoSQL 数据库分成了满足 CA 原则、满足 CP 原则和满足 AP 原则三 大类
- CA - 单点集群,满足一致性,可用性的系统,通常在可扩展性上不太强大。
- CP - 满足一致性,分区容忍性的系统,通常性能不是特别高。
- AP - 满足可用性,分区容忍性的系统,通常可能对一致性要求低一些。
5、粗略的理解,不正确的可以私信我,或者下方评论~
CAP定理(CAP theorem)相关推荐
- 架构师之路 — 分布式系统 — CAP 定理
目录 文章目录 目录 CAP 定理 C(Consistency,一致性) A(Availability,可用性) P(Partition tolerance,分区容错性) CAP 的组合 CP(con ...
- 深入理解 CAP 定理
深入理解 CAP 定理 什么是 CAP 定理 结点.系统.集群 一致性.可用性.分区容错性 一致性.可用性.分区容错性之间的区别 为什么不能同时满足 CAP 总结 什么是 CAP 定理 CAP 定 ...
- 【翻译】Brewer's CAP Theorem CAP定理
Brewer's CAP Theorem 原文地址:http://www.julianbrowne.com/article/brewers-cap-theorem Brewer's (CAP) The ...
- 谷歌新发布的分布式数据库服务,是要打破CAP定理了吗?
谷歌新发布的分布式数据库服务,是要打破CAP定理了吗? 本来来自:Original 2017-02-19 作者|登州知府 2月14日,Google 宣布推出 Cloud Spanner 云端数据库服务 ...
- 分布式系统不得不说的CAP定理
21天学会C语言?3天学会弹钢琴? 放弃一切错误方法,从今天开始"刻意练习", 因为这才是最强大的,也是唯一正确的学习方法. --<刻意练习>Anders Ericss ...
- 佳文分享:CAP定理
1976年6月4号,周5,在远离音乐会大厅的一个楼上的房间内,在位于Manchester的Lesser Free Trade Hall ,Sex Pistols 乐队(注:Sex Pistols的经理 ...
- java基础巩固-宇宙第一AiYWM:为了维持生计,架构知识+分布式微服务+高并发高可用高性能知识序幕就此拉开(三:注册中心、补充CAP定理、BASE 理论)~整起
架构知识+分布式微服务+高并发高可用高性能知识序幕就此拉开(一:总览篇) 网关开了个头 你请求来了,我网关把你拦截住,验明正身,加以控制,协助你调用服务,完成请求的调用.但是这个过程中,为了解耦和或者 ...
- 分布式之什么是CAP定理
[版权申明] 非商业目的注明出处可自由转载 出自:shusheng007 文章目录 概述 历史 定义 如何理解 总结 概述 前段时间看到微服务注册中心的如何选择问题,在比较 Netflix eurek ...
- 分布式学习(二)——CAP定理理解篇
前言:CAP定理是学习分布式所必备的知识点之一,所以先深入的理解一下这个知识点.初看CAP定理时,有些不以为意,在后续的学习中发现这是个特别值得仔细揣摩的点. 一.CAP定理 我们了解到分布式是将一个 ...
最新文章
- SpringBoot-web开发(四): SpringMVC的拓展、接管(源码分析)
- matlab白化滤波,基于预白化方法的降噪预处理技术与流程
- 解决莫名其妙出现connection closed的错误
- XamarinAndroid组件教程RecylerView动画组件使用动画(3)
- 网络数据包收发流程(三):e1000网卡和DMA
- 谷歌生物医学专用翻译_文献翻译|知云翻译,写论文必备~
- LeetCode_559.N叉树的最大深度
- 五分钟精通Oracle Hints
- [Redis6]常用数据类型_Zset有序集合
- 自定义C++异常处理
- html5 css3考试f卷,HTML5 CSS3 JavaScriptWeb前端开发自测试卷3.docx
- 轻松学会多线程(四)——synchronized同步keyword知多少
- 2012021402
- scrapy常用设置参考手册
- fenby C语言 P17
- 基于h5的跳一跳游戏的开发与实现_武汉专业开发自助零售系统报价,专业软件小程序定制平台_便企网...
- HTTP的基础知识——TCP/IP协议族
- Algorithms 学习笔记——1.1
- Excel单元格锁定及解锁
- java http 401_401 API请求状态错误
热门文章
- 单片机c语言出租车计时程序,基于单片机出租车计价器课题设计c语言编写(样例3)...
- 北大OJ(POJ 2503)在线翻译
- ajax异步注册代码,基于AJAX用户注册信息异步校验
- linux中exit和fatal区别,关于Linux系统命令中exit与exit的区别
- java实现redis客户端_windows下java swt实现操作redis的客户端工具
- MySQL DBA必备:MySQL 5.7升级8.0过程(全)
- ElasticSearch最全详细使用教程:入门、索引管理、映射详解、索引别名、分词器、文档管理、路由、搜索详解...
- 深入解析:从源码窥探MySQL优化器
- MySQL 分页优化中的 “ INNER JOIN方式优化分页算法 ” 到底在什么情况下会生效?...
- 开工大吉:Oracle 18c已经发布及新特性介绍