分布式事务-CAP定理与BASE理论

CAP定理

  • Consistency 数据一致性,分布式系统中各个服务节点的数据要一致,访问不同节点获取的数据要一致
  • Availability 可用性,分布式系统中每个服务都要保证可用
  • Partition tolerance 分区容错性,分布式系统中由于网络问题导致部分节点与其他节点失去连接,形成独立分区,即便出现分区,整个系统也要持续对外提供服务。

由于网络问题是不可完全避免的,所以分区容错性P是必须要满足的,但出现分区情况就不能同时保证数据一致性C和可用性A,因为出现网络故障时,要保证数据一致性C的话,节点间不能进行数据同步,网络有问题的节点就会一直阻塞等待数据同步,从而导致节点服务不可用,不能保证可用性A。要保证可用性A的话,节点间数据不能同步,就不能保证数据一致性C。
因此,CAP定理有两种情况,AP 和 CP

BASE理论

BASE理论是对CAP无法同时满足CAP的一种解决思路,包含三个思想:

  • Basecally Available(基本可以):分布式系统在出现故障时,允许损失部分可用性,即保证核心可用。
  • Soft State(软状态):在一定时间内,允许出现中间状态,比如临时的不一致状态。
  • Evevtually Consistent(最终一致性):虽然无法保证强一致性,但是在软状态结束后,最终达到数据一致。

CAP定理和BASE理论可用于解决分布式事务的问题

  • AP模式,各微服务的分支事务各自执行并提交,允许出现结果不一致,然后采取弥补措施恢复数据即可,实现最终一致
  • CP模式,各微服务的分支事务各自执行完后相互等待,同时提交/回滚,达成 强一致,但事务等待过程中,会锁定资源,使系统处于弱可用状态。

无论是AP还是CP,都需要获取其他微服务的事务状态,因此需要一个事务协调者(Seata中的TC)来与每一个子事务通信,来协调每一个子事务

注:每一个微服务的子系统事务,称为分支事务;有关联的各个分支事务在一起称为全局事务

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值