分布式事务(3)CAP和BASE理论

3.1 CAP理论

CAP理论告诉我们的是一个分布式系统不可能同时满足一致性(Consistency)、可用性(Availability)和分区容错性(Partition tolerance)这三个基本需求。

一致性:你做了一个数据的修改,那么这个操作成功的时候,就必须保证分布式系统的各个节点都是一样的。

可用性:客户端往分布式系统的各个节点发送请求,都是可以获取到响应的。

分区容错性:分布式系统可以容忍网络分区的故障,出现网络分区的故障之后,分布式系统的各个节点之间无法进行通信,但整套分布式系统各个节点,各自为战,该干嘛干嘛,只不过互相之间无法通信而已。

CP 满足的情况下,A不能满足的原因:网络分区故障时,往节点A插入新数据,但是由于分区故障导致数据无法同步,此时节点A和节点B数据不一致,为了保证数据一致性,客户端查询时只能返回查询失败,避免出现两份数据,牺牲可用性。

AP 满足的情况下,C不能满足的原因:网络分区故障时,往节点A插入新数据,但是由于分区故障导致数据无法同步,此时节点A和节点B数据不一致,为了保证可用性,客户端查询时直接返回,此时客户端看到的是不一致的数据,牺牲一致性。

3.2 BASE理论

BASE是Basically Available(基本可用)、Soft state(软状态)和Eventually consistent(最终一致性)。

基本可用:分布式系统在出现不可预知故障时,允许损失部分可用性。主要是响应时间和功能上的损失。比如:部分用户双十一高峰期淘宝页面卡顿或降级处理。

软状态:允许系统中的数据存在中间状态,即系统的不同节点的数据副本之间的数据同步过程存在延时,并认为这种延时不会影响系统可用性。比如:12306网站卖火车票,请求会进入排队队列。

最终一致性:所有的数据在经过一段时间的数据同步后,最终能够达到一个一致的状态。比如:理财产品首页充值总金额短时不一致。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • feisky云计算、虚拟化与Linux技术笔记posts - 1014, comments - 298, trac...
    不排版阅读 3,949评论 0 5
  • 分布式系统面临的第一个问题就是数据分布,即将数据均匀地分布到多个存储节点。另外,为了保证可靠性和可用性,需要将数据...
    olostin阅读 4,721评论 2 26
  • ORA-00001: 违反唯一约束条件 (.) 错误说明:当在唯一索引所对应的列上键入重复值时,会触发此异常。 O...
    我想起个好名字阅读 5,498评论 0 9
  • 问题的提出 在计算机科学领域,分布式一致性是一个相当重要且被广泛探索与论证问题,首先来看三种业务场景。 1、火车站...
    自度_3495阅读 984评论 0 2
  • 本文将从分布式一致性问题,引出CAP和BASE理论。 问题的提出 在计算机科学领域,分布式一致性是一个相当重要且被...
    匠丶阅读 11,844评论 0 32