美文网首页
浅谈CAP理论

浅谈CAP理论

作者: 某程序猿 | 来源:发表于2018-08-16 14:03 被阅读0次

概述

CAP原则又称CAP定理,指的是在一个分布式系统中,Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性),三者不可得兼,通常只能取其二。

  • C(一致性):在分布式系统中所有的数据备份,在同一时刻是否有同样的值。
  • A(可用性):好的响应性能。
  • P(分区容错性):在网络上有部分消息丢失,系统是否能正常运行。
    例如:
  • CA without P
    单节点关系型数据库,不具备分区容错性,显然一旦单个节点挂掉,整个数据库系统就全挂掉。但是却拥有一致性和可用性,单点数据库对事务的支持,以及多表关联是非常容易实现的。
  • CP without A
    在分布式环境下,为了确保一致性,往往会导致可用性降低。例如service A 和 service B为了确保一致性,会使用到分布式事务或者分布式锁,这些操作会导致处理时间加长,而这些service的分区更会加重这种情况。
    例如zookeeper,可以实现集群,具备P,为了强一致性,zookeeper会两两通信,保证数据一致。当集群节点少的情况下,性能尚能接受,但是在节点数量庞大的情况下,zookeeper为了保证强一致性会导致很多的资源消耗,导致可用性严重降低。
  • AP without C
    在某些业务场景下,为了高可用性,则需放弃一致性。一旦分区发生错误,节点之间会失去联系,为了不影响服务的响应时间,节点使用本地数据服务,这样会导致各节点数据不一致。
    例如:eureka,与zookeeper思路相反,为了保证高可用,放弃一致性。

与CAP理论相似或者相关的还有ACID和BASE理论。

ACID:

  • Atomicity原子性:一个事务中所有操作都必须全部完成,要么全部不完成。
  • Consistency一致性. 在事务开始或结束时,数据库应该在一致状态。
  • Isolation隔离层. 事务将假定只有它自己在操作数据库,彼此不知晓。
  • Durability持久性:一旦事务完成,就不能返回。
    这个理论主要运用在了关系型数据库,但是分区复杂度高。

BASE

BASE是Basically Available(基本可用)、Soft state(软状态)和Eventually consistent(最终一致性)三个短语的缩写。BASE理论是对CAP中一致性和可用性权衡的结果,其来源于对大规模互联网系统分布式实践的总结, 是基于CAP定理逐步演化而来的。该理论允许一段时间内的状态不一致,比如在某app上购物,发起第三方支付,用户支付状态不可能立即同步到数据库。如果支付成功,第三方会调用回调接口或者app主动查询来完成状态一致,这就是一个典型的最终一致的场景。虽然有短暂的数据不一致,但是大多数系统下,完成这个数据一致校正是非常快的,使用户察觉不到这个过程。

总结:在结合业务的情况下,设计人员总会再CAP中做出些角色,取其二以满足业务系统的需求。

ps: 如有错误,或者理解不到位的地方,欢迎大家对我指摘。谢谢。

相关文章

  • 浅谈CAP理论

    概述 CAP原则又称CAP定理,指的是在一个分布式系统中,Consistency(一致性)、 Availabili...

  • 分布式理论:CAP是三选二吗?

    CAP是什么?CAP理论,被戏称为[帽子理论]。CAP理论由Eric Brewer在ACM研讨会上提出,而后CAP...

  • ZooKeeper(六)-- CAP和BASE理论、ZAB协议

    一、CAP理论和BASE理论 1.CAP理论 CAP理论,指的是在一个分布式系统中,不可能同时满足Consiste...

  • CAP 理论十二年回顾:"规则"变了

    CAP理论的证明参见:本文转自:CAP 理论十二年回顾:"规则"变了 CAP 理论断言任何基于网络的数据共享系统,...

  • 架构师进阶实战随堂笔记三

    场景三分布式系统中的CAP原则 CAP&Base 理论介绍与案例分享 CAP理论介绍 CAP原理 一致性(Cons...

  • 《分布式技术原理与算法解析》学习笔记Day20

    CAP理论 什么是CAP理论? CAP理论用来指导分布式系统设计,以保证系统的可用性、数据一致性等。 C,Cons...

  • CAP理论

    Distributed Systems Distributed system is a software syst...

  • CAP理论

    Consistency :所有节点在同一时间看到相同的数据 Availability :部分节点故障,剩下的节点...

  • CAP 理论

    http://www.infoq.com/cn/articles/cap-twelve-years-later-h...

  • CAP理论

    CAP分布式理论 2002年CAP理论正式成为分布式计算领域的公认定理 CAP指一致性(Consisitency)...

网友评论

      本文标题:浅谈CAP理论

      本文链接:https://www.haomeiwen.com/subject/vlqubftx.html