CAP定理和BASE原则

CAP定理

2000年7月加州大学伯克利分校 Eric Brewer教授提出CAP猜想,两年后被证明。

CAP理论告诉我们,一个分布式系统不可能同时满足一致性(C,Consistency),可用性(A,Availability)和分区容错性(P,Partition tolerance),最多只能同时满足其中两个。

    一致性:分布式系统中,能够做到针对一个数据更新成功后,其他所有用户都可以读取到[最新的值],这样的系统就是强一致性的。

    可用性:[有限时间内][返回结果]

    分区容错性:分布式系统在遇到任何网络分区故障的时候,仍然需要能够提供满足一致性和可用性的服务。

其实CAP定理是理论,现实场景中的CAP也不一定真的会放弃其中一个不做,而是我们可以着重性的保证其他两个,而剩下的一个尽量保证。


BASE原则

BASE原则,是为了解决关系数据库强一致性引起的问题导致可用性降低而提出的解决方案。BASE是下面三个术语的缩写:

    基本可用(Basically Available):分布式系统在遇到故障的情况下降低一定的可用性,例如请求返回慢点,活动期间出现等待页面。

    软状态(Soft state):在系统交互过程中下游系统拥堵的情况下,给数据加上一个中间状态,例如商城购买商品时候的支付中。

    最终一致(Eventually consistent):数据最终要达到一致。比如一笔支付中状态的数据,它最终要么是支付完成,要么是支付失败。支付中的状态存留的时间取决下游支付系统完成这笔支付的时间。


关系数据库的ACID模型

关系数据库的ACID模型要求高一致性和可用性,很难进行分区

    原子性(Atomicity):一个事务中所有操作都必须全部完成,要么全部不完成。
    
    一致性(Consistency):在事务开始或结束时,数据库应该在一致状态。
    
    隔离层(Isolation):事务将假定只有它自己在操作数据库,彼此不知晓。
    
    持久性(Durability):一旦事务完成,就不能返回。


BASE模型反ACID模型,完全不同ACID模型,牺牲高一致性,获得高可用性。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值