架构基础-CAP原理

简介

CAP指的的分布式系统中的三个指标

  • Consistency 一致性
  • Availability 可用性
  • Partition tolerance 分区容错性

CAP不可能同时达到,所以只能从CA、CP、AP中有倾向的设计系统
12.png

一致性Consistency

向分布式系统中完成写操作后,任何操作都应该返回写入后的最新的值。这就要求分布式系统写操作后必须要同步数据到其它节点,且未同步的节点读写都要暂时锁定直到同步完成

可用性Availability

系统要在任何时候都可用,收到请求后一定会有响应

分区容错性Partition tolerance

分布式系统中某个节点故障不影响整体服务

实际应用

  1. 实际场景中其实P是一定会成立的,因为所有的分布式系统都会考虑到单点故障对整体的影响。
  2. 分布式系统中C一致性和A可用性是不可能同时达到的,C和A是矛盾的。除非是单体应用才有可能符合CA模型,但是单体应用就没有CAP之说了
  • 满足了一致性必然会导致可用性不满足,因为未同步的节点读写都需要暂时锁定才能达到一致性的要求
  • 满足了可用性必然需要牺牲一致性,比如使用redis的场景,用户延迟几秒获得最新数据其实也没有多大影响,使用redis的场景其实就是AP模型
  1. 所以实际场景中只有CP、AP两种模型,也就是C和A之间的权衡
原文地址:https://www.cnblogs.com/zh-ch/p/13066050.html