一、普通事物
编程式事务,TranscationManager/Connection/Session,操作 commit和rollback
声明式事物,通过AOP技术,对方法前后进行拦截,并加入编程式事物操作来完成。使用的时候需要在方法上加上@Transcational注解
二、分布式事物
1.产生的背景
分布式、微服务的兴起,导致操作一件事时,需要通过操作不同的节点、微服务,导致事物分布在不同的微服务之上,从而产生了分布式事务。
在分布式场景下还要保持事物的特性是一件比较复杂的事情。
需要遵循CAP和Base理论
2.CAP理论
CAP是指,一致性、可用性、分区容错性。分布式场景下决定了只能实现CP和AP同时存在
而BASE理论又是对CAP理论的一种补充,
BA(Basically Available) 需要保持微服务基本可以,哪怕是出现故障了,那核心模块必须能够正常提供服务。
S(Soft state),软状态,在该中间状态下,能不影响系统的可用性。
E(Eventually consistent),最终一致性,经过一段时间缓冲后,所有节点和数据能够达到一致。