分布式系统 - CAP理论
CAP定义
- Partition Tolerance分区容错性
- 首先是分区性,其次任意分区异常都能提供读写服务
- 分区性是为了更好的可用性
- 通过热备份,请求转发等分布式技术实现
- Consistency 一致性
- 服务之间数据完全同步
- 分布式系统通过分区间通讯和一致性算法实现,分布式系统可能造成无限等待或者超时终止
- 涉及到钱财等不能有一丝让步的场景下必须保证Consistency
- Availability 可用性
- 在任何时候都能提供读写服务
- 没有分区性如何保证可用性?
CAP只能满足其中两点
- 满足CA,数据必须一致,客户请求不能阻塞,事实上没有分区容错性,就没有更好的可用性
- 满足CP,在任意分区出现问题时,都会造成服务不可用,这种分布式设计通常不是为了增加可用性,而是增加服务资源
- 满足AP,不追求服务之间完全同步,追求返回一致性或者最终一致性,我感觉返回一致性约等于CAP同时实现