• 分布式的cap原理


    由来

    1998年的加州大学的计算机科学家 Eric Brewer 提出,分布式有三个指标。
    Consistency,Availability,Partition tolerance。
    简称即为CAP。
    Eric 提出 CAP 不能全部达到,这就是CAP定理。

    C

    Consistency,一致性的意思。
    一致性就是说,我们读写数据必须是一摸一样的。
    比如一条数据,分别存在两个服务器中,server1和server2。
    我们此时将数据a通过server1修改为数据b。此时如果我们访问server1访问的应该是b。
    当我们访问server2的时候,如果返回的还是未修改的a,那么则不符合一致性,如果返回的是b,则符合数据的一致性。

    A

    Availability,可用性的意思。
    这个比较好理解,就是说,只要我对服务器,发送请求,服务器必须对我进行相应,保证服务器一直是可用的。

    P

    Partition tolerance,分区容错的意思。
    一般来说,分布式系统是分布在多个位置的。比如我们的一台服务器在北京,一台在上海。可能由于天气等原因的影响。造成了两条服务器直接不能互相通信,数据不能进行同步。这就是分区容错。我们认为,分区容错是不可避免的。也就是说 P 是必然存在的。

    为什么CAP只能达到 CP 或者 AP?

    由以上我们得知,P是必然存在的。
    如果我们保证了CP,即一致性与分布容错。当我们通过一个服务器修改数据后,该服务器会向另一个服务器发送请求,将数据进行同步,但此时,该数据应处于锁定状态,不可再次修改,这样,如果此时我们想服务器发送请求,则得不到相应,这样就不能A,高可用。
    如果我们保证了AP,那么我们不能对服务器进行锁定,任何时候都要得到相应,那么数据的一致性就不好说了。

  • 相关阅读:
    nginx重启命令
    Java中Vector笔记
    JAVA中字符串比较equals()和equalsIgnoreCase()的区别
    HashMap和TreeMap的常用排序方法
    Logger用法
    HashMap和Hashtable的区别
    class.getDeclaredFields()与class.getFields()
    java中 文件压缩处理
    Java远程执行Shell命令
    python 学习笔记 redis操作
  • 原文地址:https://www.cnblogs.com/jichi/p/11396245.html
Copyright © 2020-2023  润新知