zoukankan      html  css  js  c++  java
  • CAP理论的理解

    CAP是架构设计理论中比较有名的一套。这里分享一下我对这个理论的浅薄理解。

    C: 一致性,同一个客户端写入存储系统数据后。
    如果能够立即读取到刚刚写入的数据,这个叫强一致性即所有节点同一时间看到是相同的数据;
    如果不能立即而是要等一段时间则是弱一致性。

    A:可用性,如果一个节点失效了,不管客户端的请求是否是否完全执行成功,能够确保每一个请求都能接收到响应。也就是不会返回error,内存溢出等报错。写入失败,就返回失败,读取最新数据失败,就返回旧有数据,这两种情况都算可用。

    P:当分布式系统的部分节点和其他节点网络不通时,出现网络分区。这时网络通畅的节点仍然能够提供读写一致性和可用性

    A和P的区别:A强调节点挂掉,P强调网络不通。


    看了阿里的那边《大规模分布式存储原理解析与架构实战》后,感觉自己写的一套分布式系统,只有用zk实现一个读写锁,节点拆分多个可以并行,服务可扩展而已,这么简单,很多工作一两年的人都想得到。自己还沾沾自喜。


    我的理解,真正的分布式系统应该首先是高性能并且可扩展,其次高可用或者强一致二者取其一。
    要满足这个目标,要有大量的逻辑来实现故障检测,副本同步,分布式协调,可扩展。

    spark应该算是AP架构,
    HDFS算AP架构,
    msyql主从集群算AP架构,
    arangodb,mongodb当副本同步使用默认的异步方式时,就是AP架构,否则是CP架构

    -------------------------
    技术不在于多么高超先进巧妙,而在于要有现实价值!!!
  • 相关阅读:
    [转]nmake命令(windows下的makefile)
    [转]Visual Studio 2010 C++ 工程文件解读
    [转]开源库的编译
    强软弱虚引用试验
    ArtHas JVM在线排查工具
    JVM常用参数
    CMS两个常见问题
    jvisual vm连接
    jconsole连接
    JVM调优
  • 原文地址:https://www.cnblogs.com/geektcp/p/9612756.html
Copyright © 2011-2022 走看看