learn_note/分布式/分布式理论(CAP、BASE).md

1.8 KiB
Raw Permalink Blame History

CAP

C - 一致性

如果在某个节点更新了数据,那么在其他节点如果都能读取到这个最新的数据,那么就称为强一致,如果有某个节点没有读取到,那就是分布式不一致。即所有的节点同时看到相同的数据

A - 可用性

非故障的节点在合理的时间内返回合理的响应。任何时候,读写都是成功的。

P - 分区容错性

当部分节点出现消息丢失或故障的时候,分布式系统仍能正常工作。

结论

CAP理论认为一个分布式系统最多只能同时满足一致性可用性分区容错性的三项中的两项。由于分区容错性是必然存在的所以大部分分布式软件系统都在CP和AP中做取舍

BASE

Base理论即基本可用Basically Available软状态Soft State最终一致性Eventually Consistent

既然无法做到强一致性,那么不同的应用可用根据自己的业务特点,采用适当的方式来达到最终一致性。

Base理论是对CAP理论的实际应用

  • 基本可用性:不追求强可用性,而且强调系统基本能够一直运行对外提供服务,当分布式系统遇到不可预估的故障时,允许一定程度上的不可用,比如:对请求进行限流排队,使得部分用户响应时间变长,或对非核心服务进行降级。
  • 软状态:对于数据库中事务的原子性:要么全部成功,要不全部不成功。软状态允许系统中的数据存在中间状态。
  • 最终一致性:数据不可能一直都是软状态,必须在一个时间期限之后达到各个节点的一致性。在此之后,所有的节点的数据都是一致的。系统达到最终一致性。

参考链接

https://segmentfault.com/a/1190000022740402