1.8 KiB
1.8 KiB
CAP
C - 一致性
如果在某个节点更新了数据,那么在其他节点如果都能读取到这个最新的数据,那么就称为强一致,如果有某个节点没有读取到,那就是分布式不一致。即所有的节点同时看到相同的数据
A - 可用性
非故障的节点在合理的时间内返回合理的响应。任何时候,读写都是成功的。
P - 分区容错性
当部分节点出现消息丢失或故障的时候,分布式系统仍能正常工作。
结论
CAP理论认为:一个分布式系统最多只能同时满足,一致性,可用性,分区容错性的三项中的两项。由于分区容错性是必然存在的,所以大部分分布式软件系统都在CP和AP中做取舍
BASE
Base理论:即基本可用(Basically Available),软状态(Soft State),最终一致性(Eventually Consistent)
既然无法做到强一致性,那么不同的应用可用根据自己的业务特点,采用适当的方式来达到最终一致性。
Base理论是对CAP理论的实际应用
- 基本可用性:不追求强可用性,而且强调系统基本能够一直运行对外提供服务,当分布式系统遇到不可预估的故障时,允许一定程度上的不可用,比如:对请求进行限流排队,使得部分用户响应时间变长,或对非核心服务进行降级。
- 软状态:对于数据库中事务的原子性:要么全部成功,要不全部不成功。软状态允许系统中的数据存在中间状态。
- 最终一致性:数据不可能一直都是软状态,必须在一个时间期限之后达到各个节点的一致性。在此之后,所有的节点的数据都是一致的。系统达到最终一致性。