CAP理论

作者: 倚仗听江 | 来源:发表于2021-01-12 09:31 被阅读0次

    1. CAP理论

    CAP理论指的是一个分布式系统最多只能同时满足一致性(Consistency)、可用性(Availability)和分区容错性(Partition tolerance)这三项中的两项。

    image.png

    C - Consistency:

    一致性是指写操作后的读操作可以读取到最新的数据状态,当数据分布在多个节点上,从任意结点读取到的数据都是最新的状态。(数据的一致性,可以返回失败,但是只要读到了数据就必须保证读到的数据是最新的)

    A - Availability :

    可用性是指任何事务操作都可以得到响应结果,且不会出现响应超时或响应错误。(我不管读到的数据是不是最新的,你必须保证我能读到数据,每个节点都要能对外提供服务)

    P - Partition tolerance :

    通常分布式系统的各各结点部署在不同的子网,这就是网络分区,不可避免的会出现由于网络问题而导致结点之间通信失败,此时仍可对外提供服务,这叫分区容错性。(分布式系统具备的基本能力,一个节点挂了不会影响其他节点)

    2. CAP的组合

    在所有分布式事务场景中不会同时具备CAP三个特性,因为在具备了P的前提下C和A是不能共存的。(当满足P的情况下,为了保证数据的一致性,在同步的时候我需要锁定数据库,但此时如果有其他线程来读,就读不到数据,这就不满足可用性,所以在具备了P的前提下C和A是不能共存的)

    image.png

    3. 总结

    对于多数大型互联网应用的场景,结点众多、部署分散,而且现在的集群规模越来越大,所以节点故障、网络故障是常态,而且要保证服务可用性达到N个9(99.99..%),并要达到良好的响应性能来提高用户体验,因此一般都会做出如下选择:保证P和A,舍弃C强一致,保证最终一致性

    相关文章

      网友评论

          本文标题:CAP理论

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