• CAP理论中的P到底是个什么意思


    在CAP理论中,C代表一致性,A代表可用性(在一定时间内,用户的请求都会得到应答),P代表分区容错。
    这里分区容错到底是指数据上的多个备份还是说其它的 ? 我感觉分布式系统中,CAP理论应该是C和A存在不可同时满足, 既要保证高可用,又要保证强一致性,因为多个节点之间存在数据复制,所以要么保证强一致性,就不一定能在指定的时间内返回客户的请求, 要么保证高可用,但是各个节点的数据不一定是一致的。 但是和P有什么关系呢 ?

    一个分布式系统里面,节点组成的网络本来应该是连通的。然而可能因为一些故障,使得有些节点之间不连通了,整个网络就分成了几块区域。数据就散布在了这些不连通的区域中。这就叫分区。

    当你一个数据项只在一个节点中保存,那么分区出现后,和这个节点不连通的部分就访问不到这个数据了。这时分区就是无法容忍的。

    提高分区容忍性的办法就是一个数据项复制到多个节点上,那么出现分区之后,这一数据项就可能分布到各个区里。容忍性就提高了。

    然而,要把数据复制到多个节点,就会带来一致性的问题,就是多个节点上面的数据可能是不一致的。要保证一致,每次写操作就都要等待全部节点写成功,而这等待又会带来可用性的问题。

    总的来说就是,数据存在的节点越多,分区容忍性越高,但要复制更新的数据就越多,一致性就越难保证。为了保证一致性,更新所有节点数据所需要的时间就越长,可用性就会降低。


     
    https://www.zhihu.com/question/54105974?from=profile_question_card
     
     
  • 相关阅读:
    创建nodejs服务器
    研磨设计模式学习笔记2外观模式Facade
    研磨设计模式学习笔记4单例模式Signleton
    研磨设计模式学习笔记1简单工厂(SimpleFactory)
    getResourceAsStream小结
    研磨设计模式学习笔记3适配器模式Adapter
    oracle数据库代码块
    DecimalFormat
    .NET中常用的代码(转载)
    WebClient的研究笔记
  • 原文地址:https://www.cnblogs.com/xiaohanlin/p/8481604.html
Copyright © 2020-2023  润新知