CAP理论
- 一致性(Consistency):每次访问都能获得最新数据,但可能会收到错误响应
- 可用性(Availability):每次访问都能得到非错响应,但不保证能获取到最新数据
- 分区容错性(Partition Tolerance):在任意分区网络故障的情况下,系统仍能继续运行
在一个分布式系统中,需要满足分区容错性,并在一致性和可用性之间做出取舍。
理解CAP理论的最简单方式是想象两个节点分处分区两侧。允许至少一个节点更新状态会导致数据不一致,即丧失了C性质。如果为了保证数据一致性,将分区一侧的节点设置为不可用,那么又丧失了A性质。除非两个节点可以互相通信,才能既保证C又保证A,这又会导致丧失P性质。
如果业务需求需要原子读写,使用CP 如果业务需求允许最终一致性,或当外部故障时要求系统继续运行,使用AP