聊聊分布式事务的两大理论-CAP和BASE
- 1. CAP理论
指的是在一个分布式系统中 一致性(Consistency)、可用性(Availability)、分区容忍性(Partition Tolerance)的首字母缩写
1.1 一致性
企业中,多个结节的数据在数据更新操作时,要么都执行成功,要么都执行失败。
1.2 可用性
客户端访问系统时可以得到快速响应,处于可用性的系统并不要求所有节点的数据都一致,所有节点都能快速响应结果就可以。
1.3 分区容忍性
也叫分区容错性,某节点挂掉不影响整体集群对外提供服务,分区容忍性是分布式系统必须具备的基础能力
1.4 CAP组合
分布式系统中只能满足两两组合,无法同时具备三个特性,比如:有主从两个节点,若要满足可用性,必须保证从节点可用,
如果要满足一致性,就需要对从节点同步完成之前加锁避免读到脏数据,从节点加锁后就没办法及时响应结果了,也就是无法
满足可用性,一致性和可用性是相互矛盾的。
CAP组合有AP,CP,CA三种组合方式。AP放弃一致性,大部分分布式系统使用此方式,架构中采用“最终一致性”达到数据一致
状态;CP放弃可用性,往往会对节点采用加锁的方式保证一致性,银行系统应用此方式;CA放弃分区容错性,一般不再考虑多个节点,
采用单体项目。
- 2. BASE理论
Base理论是对CAP中AP组合的一个扩展,通过牺牲强一致获得可用性。是Basically Available(基本可用),Soft state(软状态)
和 Eventually consistent(最终一致性)三个短语的缩写。
Basically Available指的是所有客户端的请求都必须给出响应。Soft state指的是允许系统中的数据存在中间状态,并认为该状态不会
影响系统的整体可用性,即允许系统在多个不同节点的数据副本存在数据延时。Eventually consistent指的是经过一段时间,系统的数据达到
一致状态。
浙公网安备 33010602011771号