CAP原理

作者: 迦若莹 | 来源:发表于2018-05-05 17:05 被阅读12次

我们在学习分布式事务的时候,经常会看到各种博客、博文介绍CAP原理。但是感觉讲述的并不是那么清晰,于是自己查询了各种资料自己综合写了一篇博客,以抒发自己的观点。

  • 一致性(Consistency):在分布式系统中的所有数据备份,在同一时刻是否同样的值。(等同于所有节点访问同一份最新的数据副本)
  • 可用性(Availability):每一个操作总是能够在确定的时间内返回,而不是一直等待响应。也就是系统随时都是可用的。
  • 分区容忍性(Tolerance of network Partition):在出现网络分区(比如断网)的情况下,分离的系统也能正常运行。

CAP原理的意思是,一个分布式系统不能同时满足一致性,可用性和分区容错性这三个需求,最多只能同时满足两个。

我们对一致性都有很好的理解,所有节点数据都一致吗!但是对于可用性和分区容忍型这两个完全就是众说纷纭,甚至二者的概念很多人分不清。如果说我们的服务器做了集群,拥有了多个节点,然后其中几个节点宕机了,剩下还有机器可以维持正常的服务,那么这个到底是可用性,还是分区容忍型呢?

其实我觉得可以理解为这几个节点与其它正常的节点失去联系了,也就是出现了网络分区,按照定义,这属于分区容忍性的范畴。而可用性,则是整个系统访问能够快速返回,并不是一直在阻塞中,一直在类似转菊花的等待。

  • CA组合:传统的单节点应用。当我们访问这个应用的的时候,如果应用没有崩溃,网络没有异常,我们的系统也没有过多的性能问题,数据库事务隔离级别防止脏读。那么数据怎么查询都是一致的,而且基本上都是秒响应。但是因为是单节点,如果宕机了就没了,可以说是没有容忍型。
  • CP组合:我们对系统和数据库做出集群。假设是一主多从,而且是必须要主从彻底一致时才能响应。那么当集群的节点越多,容忍型就越高,但是数据同步的时间会越来越长,同时响应的时间就会越来越长。这样就直接导致了可用性越来越差。
  • AP组合:我们访问系统的任意一个节点,都会秒响应,但是不同的系统响应的数据可能会出现不一致。

综上所述,我们如果想要一套分布式系统,那么肯定是追求AP而去牺牲C,达到最终一致性。而如何达到最终一致性,那么就是分布式事务要做的事了。

相关文章

  • 一致性科普

    CAP:网络编程(七):CAP原理推导和应用

  • CAP到底是什么鬼?

    CAP到底是什么鬼? CAP理论 解释CAP原理 加深理解 蚂蚁金服OceanBase 据说已经打破CAP?? ...

  • CAP 原理

    CAP 原理: CAP 原理是分布式存储的理论基石 C - Consistent ,一致性 A - Availab...

  • 架构师训练营第6周作业 CAP

    1. 请简述CAP原理 CAP原理是用来描述分布式数据存储系统的一个定理,CAP三个字母分别代表Consisten...

  • 微服务架构下的分布式数据管理书目录

    分布式数据管理之痛点 分布式数据管理之举措 CAP原理和最终一致性 CAP原理(CAP Theorem) 最终一致...

  • CAP原理

    我们在学习分布式事务的时候,经常会看到各种博客、博文介绍CAP原理。但是感觉讲述的并不是那么清晰,于是自己查询了各...

  • CAP原理

    分布式系统不可能同时满足三个条件: 一致性(Consistency):每次都能读到最新数据,读不到则返回错误。 可...

  • CAP原理

    学习视频4天从浅入深精通SpringCloud 微服务架构【黑马程序员】,黑马出品良心精品。 Consistenc...

  • Redis-主从同步(有备无患-解决单点故障)

    CAP CAP原理就好比分布式领域的牛顿定律,它是分布式理论的基石。原理简单讲解:C - Consistent, ...

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

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

网友评论

      本文标题:CAP原理

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