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

一、CAP理论原理

1、CAP理论介绍

2000年7月,加州大学伯克利分校的Eric Brewer教授在ACM PODC会议上提出CAP猜想。2年后,麻省理工学院的Seth Gilbert和Nancy Lynch从理论上证明了CAP。之后,CAP理论正式成为分布式计算领域的公认定理。

CAP理论:

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

2、CAP理论解释

C:Consistency一致性

一致性指“all nodes see the same data at the same time”,即更新操作成功并返回客户端完成后,所有节点在同一时间的数据完全一致。

A: Availability可用性

可用性指“Reads and writes always succeed”,即服务一直可用,而且是正常响应时间。

P: Partition tolerance分区容错性

分区容错性指“the system continues to operate despite arbitrary message loss or failure of part of the system”,即分布式系统在遇到某节点或网络分区故障的时候,仍然能够对外提供满足一致性和可用性的服务。

二、CAP使用权衡

1、保留CA,放弃P

如果想避免分区容错性问题的发生,一种做法是将所有的数据(与事务相关的)都放在一台机器上。虽然无法100%保证系统不会出错,但不会碰到由分区带来的负面效果。当然这个选择会严重的影响系统的扩展性。

作为一个分布式系统,放弃P,即相当于放弃了分布式,一旦并发性很高,单机服务根本不能承受压力。

像很多银行服务,确确实实就是舍弃了P,只用单台小型机+ORACLE保证服务可用性。

2、保留CP,放弃A

相对于放弃“分区容错性“来说,其反面就是放弃可用性。一旦遇到分区容错故障,那么受到影响的服务需要等待一定的时间,因此在等待期间系统无法对外提供服务。

作为分布式系统,有分区服务发生问题很有可能,如果因为某些服务不能用,导致整个服务都不能用,这个根本不是好的分布式系统。

3、保留AP,舍弃C

这里所说的放弃一致性,并不是完全放弃数据一致性,而是放弃数据的强一致性。即放弃了同一时刻的数据一致性,而保留数据的最终一致性。

以网络购物为例,对只剩下一件库存的商品,如果同时接受到了两份订单,那么较晚的订单将被告知商品告罄。

通常情况下,很多分布式服务系统都是采用该方案,保证可用性性,分布式服务,因为某些分区服务发生问题,先容忍,最终通过一些折中的方法达到最终数据一致性。

转载于:https://my.oschina.net/haoran100/blog/712549

分布式理论:CAP理论相关推荐

  1. 分布式领域CAP理论

    分布式领域CAP理论具体如下: Consistency(一致性):数据一致更新,所有数据变动都是同步的: Availability(可用性):好的响应性能: Partition tolerance(分 ...

  2. 「数据库系列四」分布式数据库CAP理论与最终一致性

    传统关系型数据库中事务有四个重要的特性,简称ACID,即 原子性 : 事务是一个不可分割的工作单位,事务中的操作要么都成功,如果有一个执行失败,所有的SQL将都被撤销,恢复到事务开始的状态 一致性 : ...

  3. 事务连接中断_一文搞懂分布式事务-CAP理论

    互联网系统中,分布式事务是无法避免的,目前多数解决方案是BASE理论,最终一致性,结合事务补偿. 1.什么是CAP理论. CAP理论,又称为布鲁尔定理,是加州大学伯克利分校的计算机科学家埃里克.布鲁尔 ...

  4. 分布式数据库CAP理论

    传统数据库与NoSQL数据库 传统的关系型数据库在功能支持上通常很宽泛,从简单的键值查询,到复杂的多表联合查询再到事务机制的支持.而与之不同的是,NoSQL系统通常注重性能和扩展性,而非事务机制(事务 ...

  5. 分布式理论-CAP理论

    一 CAP理论简述      海量数据管理中的一致性理论,包括CAP理论,BASE理论,数据一致性理论模型,以及现有的经典数据一致性技术.其中CAP (Consistency, Availabilit ...

  6. Day431.本地事务分布式事务CAP理论 -谷粒商城

    本地事务 一.本地事务 一个或一组SQL语句组成一个执行单元,这个执行单元要么全部执行,要么全部不执行 二.ACID 特性 原子性:一个事务的整体操作不可拆分,要么都成功,要么都失败 一致性:一个事务 ...

  7. 分布式 CAP 理论

    2019独角兽企业重金招聘Python工程师标准>>> 分布式 CAP 理论 CAP 理论是一个经典的分布式系统理论. CAP 理论指出:一个分布式系统不可能同时满足一致性(Cons ...

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

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

  9. 分布式相关概念:ACID特性,CAP理论,BASE理论

    汇总一下几个常见的理论的概念: 1.ACID特性 数据库管理系统中事务(transaction)的四个特性: 原子性(Atomicity).一致性(Consistency).隔离性(Isolation ...

  10. 分布式系统原理 之9 CAP 理论

    分布式系统原理 CAP 理论 CAP 理论是由 Eric Brewer 提出的分布式系统中最为重要的理论之一[8].本文将 CAP 理论安排在原理部分的最后介绍是为了利用前面已经介绍过的几种分布式协议 ...

最新文章

  1. 社交网络图挖掘2--社区的直接发现和图划分
  2. jmeter练习(5)关联升级版—ForEach控制器(提取多个响应结果并依次传参)
  3. 如何让li中内容超出部分显示为...?
  4. nginx服务企业应用
  5. pyqtsignal()作用
  6. 368.最大整数子集
  7. python while 循环 全局变量_python循环语句(while amp; for)
  8. 【无标题】AMAZINGIC晶焱科技:预防TVS闩锁风险的方法与实际案例分析
  9. 发力“创新宇宙”,酒店集团如何破局商业革新?
  10. 《非暴力沟通》-马歇尔·卢森堡
  11. 微信小程序服务商接入流程
  12. 认知升级三部曲读后感想
  13. vue清空子组件数据或强制刷新子组件
  14. cocos2dx的文章
  15. #个人日记-电影《明日之战》观后感-20210913
  16. ppt生成eps文件_如何将AI/EPS格式文件转为ppt格式
  17. Chrome浏览器和Edge浏览器永久开启始终允许Flash插件
  18. 基于深度图像的多人姿态检测
  19. 我们究竟为什么上大学
  20. 牛客网 c++ 剑指Offer_编程题 第五题用两个栈实现队列

热门文章

  1. 《我在51CTO微职位学软考——奋发之路》
  2. lua元表和元方法 《lua程序设计》 13章 读书笔记
  3. 【转载】一致性哈希算法(consistent hashing)
  4. JavaScript正则表达式
  5. [重构到模式-Chain of Responsibility Pattern]把Fizz Buzz招式重构到责任链模式
  6. Spring的datasource配置详解
  7. oracle linux vs centos我们选择谁
  8. 详解Android实现全屏正确方法
  9. SQL Server 2005 镜像构建说明(转载)
  10. bash alias, VIM配置,和使用的插件 RAILS开发相关