分布式系统中CAP原理
分布式系统CAP原理
分布式系统发开虽然有点很多但是并不是完美的,CAP原理就是其中的体现之一。
CAP原理:指的是在一个分布式系统中,Consistency(一致性)、Availability(可用性)、Partitontolerance(分区容忍性),三者不可得兼。
一致性(C):在分布式系统中的所有数据备份,在同一时刻是否同样的值。简单说就是所有节点在同一时刻的数据完全一致,这就意味着节点越多数据同步的时候约消耗时间。
比如说分布式数据存储,多台设备需要存储同样的数据,这样一来一旦数据更变那么其他数据库肯定要同步数据,这就意味着我设备越多,我同步的速率也就会越慢,消耗的时长就越多。
可用性(A):负载过大后,集群整体是够还能响应用户正常的读写请求。简单说就是项目不管怎么滴,我系统对于用户请求的响应时间肯定在能接受的范围内的,用户体验不能没有啊。
分区容忍性(P):分区容忍性,就是高可用性,一个节点崩了不会影响其他节点。简单说就是我服务器节点崩了几个没事,只要我有正常的服务器就行了,这样就是说我节点越多就越好了。
CAP不得兼得原理
CAP理论就是说在一个分布式系统中,最多只能实现上面的两点。那我们来分析下。
第一:
拥有AP的时候为什么C不能实现?
根据上图我们来分析,比如我现在拥有10000个节点,现在要做数据备份,要将10000台设备(p满足了)上都备份上同样的数据,保持数据的一致性(C),我们想象10000台设备数据的同步必然是需要消耗时间,那么我们就没办法实现A,所以要想实现AP那,就不可能保证数据的一致性的。
第二
拥有CP不能为什么不能实现A?
也很好理解,10000台设备,我要保持数据一致性,我就没法保证请求相应时间很短了是吧。
第三
拥有CA为什么不能实现P?
同样的我想要保证数据的一致性,也就是数据的复制,又要保证在合理的请求相应时间内,那么我机器设备不可能很多了,这样就不能满足P了。
依据现在的网络硬件肯定会出现延迟对包的情况,设置个别服务器崩溃,起码得保证系统正常的运行,所以**分区容忍性(P)**是不能缺少的。
分布式系统中CAP原理相关推荐
- 分布式系统以及CAP原理
分布式系统以及CAP原理 文章首发于微信公众号:大数据每日哔哔.文章:分布式系统以及 CAP 原理 ● 本文主要分为以下几个部分:<br />什么是分布式系统<br />对 C ...
- 分布式系统的CAP原理及其应用
什么是分布式系统的CAP原理 在分布式系统中,一致性(C)指每一次读都得到最近的写数据,或者一个异常:可用性(A)指每一个请求都得到一个非异常的响应,而不保证取得最近的写数据:分区容错性(P)是指结点 ...
- 分布式数据库中CAP原理CAP+BASE
一.传统的ACID 分别是什么 1.A: atomicity 原子性 2.C: Consistency 一致性 3.I: Isolation 独立性 4.D: Duraility 持久性 二.CAP ...
- 分布式系统之CAP原理
参考链接:http://blog.csdn.net/wireless_com/article/details/79153643 CAP是什么? CAP理论,被戏称为[帽子理论].CAP理论由Eric ...
- 分布式系统架构的远程调用(RESTFul、RPC)和CAP原理
文章目录 分布式系统的远程调用 RestFul接口 RPC协议 RestFul和RPC的区别 分布式系统的CAP原理 分布式系统的远程调用 在微服务架构中,通常存在多个服务之间的远程调用的需求.远程调 ...
- 分布式系统之CAP理论学习
1.分布式系统中CAP分别代表什么?对它们的理解? CAP即一致性(Consistency).可用性(Availability).分区容错性(Partition tolerance). 一致性(Con ...
- Eureka工作原理(Eureka简介Eureka ServerEureka Client自我保护机制分布式系统中的CAP理论Eureka 工作流程)
一.Eureka简介 Eureka Server(注册中心,相当于zookeeper) Eureka Client: Provider Consumer 多个Eureka就叫集群.集群之间会定时通过r ...
- 分布式系统中的FLP不可能原理、CAP理论与BASE理论
前言 分布式系统是由多个不同的服务节点组成,节点与节点之间通过消息传递进行通信和协调.根据消息传递的不同,分布式系统的运行模型可以分为异步模型系统 和同步模型系统. 1.同步与异步 同步和异步关注的是 ...
- 分布式系统架构以及 CAP 原理
精选30+云产品,助力企业轻松上云!>>> 点击蓝色"大数据每日哔哔"关注我 加个"星标",第一时间获取大数据架构,实战经验 ● 本文主要分为 ...
最新文章
- js实现给a href= href赋值
- 学习android操作系统,学习Android手机操作系统笔记总结
- 【OS学习笔记】一 处理器、内存和指令
- 快餐店之间插入仓库,路最短,DP,POJ(1485)
- 语音识别_qq语音识别_js语音识别 - 云+社区 - 腾讯云
- python使用os.system()方法进行多模块安装
- windows 任务管理中各个内存项的含义
- opnelayers 基于ImageCanvas,简单云层图
- 顺丰全栈资源下的自动化运维灵魂
- 安卓root后查看WiFi密码
- GTC 2020:开发者谈NS版《巫师3》移植
- STM32单片机TTS温度播报系统 DS18B20 LCD1602
- Pixhawk指示灯的含义
- 巧用键盘鼠标!打字更快—办公效率更好!
- .NET3.5 GDI+ 图形操作1
- LINUX——网络管理
- 《微波原理与技术》学习笔记1绪论-微波的概念
- 《白帽子讲web安全》——吴瀚清 阅读笔记
- Swift函数式编程十二(表格应用)
- STemwin 实现滑动切换主页 滑动翻页 滑动解锁功能