聊聊分布式事务的两大理论-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指的是经过一段时间,系统的数据达到
一致状态。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)