美文网首页
CAP 三角不可能等式

CAP 三角不可能等式

作者: NazgulSun | 来源:发表于2019-03-25 20:05 被阅读0次

关于分布式系统CAP 特性,其实一直是属于一个模糊的状态。

主要是学了计算机,主观里更加看重实践和动手能力,总是觉得speak is cheap, show me your code 才是最酷的,

以至于连个CAP的概念的说不清楚。

千万个读者心里有千万个哈姆雷特,关于CAP网上也有一千万个解读,为了加深印象,我自己也试着用

自己项目中的经验去理解CAP。

首先来说,我们现在用到的典型的web应用架构是这样的,

一个load balance的服务器, 后面连接了多台 web server, 每台web server 连接不同的 数据库。

                           web-A            DB-A

Lobalance -->

                          web-B                DB-B

                          Web-C               DB-C

何为CAP呢,CAP就是你在构建这样的一个系统的时候给出的承诺。

打散来看:

C:一致性:

 也就是说你承诺, 任何用户访问我们的应用的时候,拿到的就是最新的数据。

为了实现这个承诺,当存在更新的时候,比如用户A写入到数据库A后,需要做 DB- A-B-C的数据同步,

以保证 三个DB的数据是一样的,也就是说要实现分布式事务。

这期间,如果用户要访问数据库中的数据,那么必须要等待事务的结束,有的时候,由于事务异常,用户就无法访问到数据,

系统给出一个异常。就是是关于C的承诺,要么给你一致的数据,要么系统异常。

由于有严格的数据一致性要求,这样的系统不允许脏读,比如金融行业,转账取钱等。

与C对立的则是 A 可用性:

也就是承诺,你请求的时候,总是可以获得相对新的数据,没有异常,但不保证数据最新。

例如当用户通过web-A 插入了数据到 DB-A之后,并不需要最新的数据都同步到 DB  -B-C,用户可以通过web-B访问到一份DB-B中的数据,但是不是最新的。

比如,我们看到12306, 你刷到票,然后可以下单,但是会告诉你没买上,这也是 A的表现,因为数据没有严格的做一致性要求。

而对于P 网络分区而言:

是承诺,在整个网络中,出现任何单个节点服务,网络的故障,应用都是可用的。

例如我们的loadbalance就是为了保障这样的承诺的,因为loadbalance 会有 health check 的机制, 而DB-A-B-C 通常也是会做成集群

web 和db 中的若干台宕机都不会影响服务。

综上,对于分布式系统而言, P是一定要的, 然后根据业务情况,选择 A或者C。

相关文章

  • CAP 三角不可能等式

    关于分布式系统CAP 特性,其实一直是属于一个模糊的状态。 主要是学了计算机,主观里更加看重实践和动手能力,总是觉...

  • 面对三难选择,你如何选?

    一、区块链中的不可能三角——CAP 区块链是一点对点的分布式系统。 分布式系统中有一个CAP不可能三角。 一致性(...

  • 从大数据帽子定理到投资不可能三角

    最近看到投资中的不可能三角,忽然想到大数据中的CAP定理,不能说是一模一样,那简直是完全一致。 CAP原则是NoS...

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

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

  • 数学笔记:不等式

    三角不等式 伯努利不等式 二项不等式 均值不等式 调和平均数、集合平均数、算术平均数和二次平均数 杨氏不等式 施瓦...

  • CAP定理

    CAP定理(CAP theorem), 又称布鲁尔定理(Brewer's theorem),一个分布式系统不可能同...

  • CAP定理

    类似蒙代尔三角-三元悖论,在理论计算机科学中,CAP定理(CAP theorem),又被称作布鲁尔定理(Brewe...

  • 两个重要不等式

    Author: zfs [1]三角不等式|| [2]平均值不等式(n个正数) 证[1]:,同时加上开方得证. 证[...

  • 生涯故事会DAY8

    0和1等式三角公式 前两天,一位友人问我是否听说过“0-1等式三角”,我说没有。 于是,他找来一张纸,写下了这样两...

  • 分布式理论(二)——Base 理论

    前言 在前文 分布式理论(一) —— CAP 定理 中,我们说,CAP 不可能同时满足,而分区容错是对于分布式系统...

网友评论

      本文标题:CAP 三角不可能等式

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