Base理论

 JAVA   大苹果   2024-01-16 22:53   175

BASE理论

BASE理论是对CAP的一种解决思路,包含三个思想:

  • Basically Available (基本可用):分布式系统在出现故障时,允许损失部分可用性,即保证核心可用。

  • Soft State(软状态):在一定时间内,允许出现中间状态,比如临时的不一致状态。

  • Eventually Consistent(最终一致性):虽然无法保证强一致性,但是在软状态结束后,最终达到数据一致。

而分布式事务最大的问题是各个子事务的一致性问题,因此可以借鉴CAP定理和BASE理论:

  • AP模式:各子事务分别执行和提交,允许出现结果不一致,然后采用弥补措施恢复数据即可,实现最终一致。

  • CP模式:各个子事务执行后互相等待,同时提交,同时回滚,达成强一致。但事务等待过程中,处于弱可用状态。

分布式事务模型

解决分布式事务,各个子系统之间必须能感知到彼此的事务状态,才能保证状态一致,因此需要一个事务协调者来协调每一个事务的参与者(子系统事务)。 这里的子系统事务,称为分支事务;有关联的各个分支事务在一起称为全局事务

image.png

简述BASE理论三个思想:

  • 基本可用

  • 软状态

  • 最终一致

解决分布式事务的思想和模型:

  • 全局事务:整个分布式事务

  • 分支事务:分布式事务中包含的每个子系统的事务

  • 最终一致思想:各分支事务分别执行并提交,如果有不一致的情况,再想办法恢复数据

  • 强一致思想:各分支事务执行完业务不要提交,等待彼此结果。而后统一提交或回滚