CAP

作者: 乌鲁木齐001号程序员 | 来源:发表于2020-08-14 19:42 被阅读0次

    CAP 理论中的 C 和 A

    • C 和 A 都是服务端对客户端读的不同承诺;A 承诺什么时候读都能读到数据,但是读到的数据有可能不是最新的;C 承诺的是每次读到的数据都是最新写入的值,要么就是读取失败;
    • 这里的 C 不是状态一致性,状态一致性是说,在客户端读的那一个时刻,数据在不同副本之间的值是一模一样的;
    • CAP 理论在提出的时候,C 指的是状态一致性,此时理论还没被证明;
    • CAP 理论在被证明的时候,将 C 限制在了原子一致性(线性一致性),这样的限制换句话说,就是对客户端的承诺;我只承诺返回给客户端读请求的数据要么是最新写入的数据,要么返回失败;比如 Kafka 的 ISR,读写都在 Leader 上,响应给客户端读请求的数据要么就是最新的,要么就是返回失败,客户端在读的那一瞬间,数据可能还没同步给所有的 Follower 节点;
    • 即使在没有发生网络分区的情况下,对 C 实现的越好,对 A 的实现就越差;C 实现到头了就是状态一致性(分布式事务 ACID),这是 CAP 理论被提出时 C 的含义;

    相关文章

      网友评论

          本文标题:CAP

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