聊聊分布式事务的两大理论-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指的是经过一段时间,系统的数据达到

    一致状态。

posted on   我的笔记本  阅读(46)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

点击右上角即可分享
微信分享提示