CAP理论

  • C:consistency(一致性)
  • A:avalibility(可用性)
  • P:Partition(分区)-tolerence to partition(分区容忍度)

图解CAP

  • P【分区】
  • A【可用性】
  • C【一致性】

解释CAP

  • 分区:一个分布式系统,网络不通讯,导致连接不通,系统被分割成几个数据区域
  • 原因:数据不连通了,产生数据分区
  • 影响
  • 查还好一点
  • 数据修改时,必须要求数据一致--加锁,实现数据一致性【需求要求数据一致性】
  • 数据修改时,可以数据不一致--不用加锁【需求不要求数据一致性】
  • 分区容忍度
  • 数据的一致性要求高,容忍度高,加锁
  • 数据的一致性要求低,容忍度低,可以不加锁
  • 预期结果,保持数据的一致
  • 可用性
  • 请求在一定时间段内都应该有响应
  • 为了解决锁一直加着
  • CP理论:【一致性+分区】数据的一致性要求高-加锁
  • AP理论:【可用性+分区】数据的一致性要求低-不加锁

CAP总结

  • 分区是常态,可不避免,三者不可共存
  • 可用性和一致性是一对冤家
  • 一致性高,可用性低
  • 一致性低,可用性高