分布式CAP理论和模型

分布式CAP理论
1
2
3
4
5
1.CAP 理论可以表述为,一个分布式系统最多只能同时满足两者。并且P是确定的
一致性(Consistency)所有节点同时看到相同的数据
可用性(Availability)任何时候,读写都是成功的
分区容忍性(Partition Tolerance)当部分节点出现消息丢失或者分区故障的时候,分布式系统仍然能够继续运行
ex:P 分布式 C 强一致性就不能保证A,比如 由于节点存在故障所以一致性不能保证。
不同数据一致性模型有哪些应用?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

[ Base]
Base理论的核心思想是最终一致性,Base 理论则是对 CAP 理论的实际应用,即使无法做到强一致性(StrongConsistency),
但每个应用都可以根据自身的业务特点,采用适当的方式来使系统达到最终一致性(Eventual Consistency)。
三要素:
1.基本可用(允许损失部分可用性,相比正常的系统,可能是响应时间延长,或者是服务被降级)
ex:举个例子,在双十一秒杀活动中,如果抢购人数太多超过了系统的 QPS 峰值,可能会排队或者提示限流,这就是通过合理的手段保护系统的稳定性,保证主要的服务正常,保证基本可用
2.软状态(允许系统中的数据存在中间状态,并认为该状态不影响系统的整体可用性,即允许系统在多个不同节点的数据副本存在数据延时)
3.最终一致性(在一个时间期限之后达到各个节点的一致性,在期限过后,应当保证所有副本保持数据一致性,也就是达到数据的最终一致性)

不同数据一致性模型:
1.强一致性:当更新操作完成之后,任何多个后续进程的访问都会返回最新的更新过的值,需要牺牲可用性
2.弱一致性:在数据写入成功之后,不承诺立即可以读到最新写入的值
3.最终一致性:需要系统保证最终数据能够达到一致,而不需要实时保证系统数据的强一致性
1.因果一致性:因果关系的操作顺序得到保证,非因果关系的操作顺序则无所谓
2.会话一致性:你的一次访问中,执行更新操作之后,客户端能够在同一个会话中始终读取到该数据项的最新值

[ACID] 是一种强一致性模型,强调原子性、一致性、隔离性和持久性,主要用于在数据库实现中,适合传统金融等业务