1:事务四个特性(酸性):ACID

原子性:一次操作中,全部执行成功,或者全部失败回滚。
一致性:确保数据库的状态从一个一致性状态转变为另一个一致性状态。
隔离性:多哥事务并发执行,之间互不影响
持久性:提交的数据,永久的保存到数据库中,事务结束时,操作不可逆转

2:本地事务与分布式事务

本地事务:单个服务器操作单个数据库
分布式事务:一次操作中,多个微服务参与,并且调用各自的数据库

3:分布式事务相关理论:

CAP:
一致性,可用性,分区容错三个指标不可能同时做到,成为CAP定理。
分区容错必须满足。一致性与可用性互相矛盾
BASE:
基本可用,软状态,最终一致性

4:分布式事务解决方案:

(1)两阶段提交:
第一阶段:分支事务(本地事务)提交,上传状态。
第二阶段:根据第一阶段上传的状态,决定是全局事务提交或者失败回滚。回滚根据undo_log(保存有全局事务Id,执行之前和执行之后的数据)
(2)TCC补偿
Try 阶段主要是对业务系统做检测及资源预留
Confirm 阶段主要是对业务系统做确认提交,Try阶段执行成功并开始执行 Confirm阶段时,默认 Confirm阶段是不会出错的。即:只要Try成功,Confirm一定成功。
Cancel 阶段主要是在业务执行错误,需要回滚的状态下执行的业务取消,预留资源释放。
(3)MQ—消息最终一致性:
将分布式事务分解成本地事务执行。去除了强一致性,保留了最终一致性。

5:seata(分布式事务解决技术):

(1)AT模式机制:基于两阶段提交协议的演变。
一阶段:
业务数据和回滚日志记录在同一个本地事务中提交,释放本地锁和连接资源。
二阶段:
提交异步化,非常快速地完成。
回滚通过一阶段的回滚日志进行反向补偿。
(2)执行流程
TM 向 TC 申请开启一个全局事务,全局事务创建成功并生成一个全局唯一的 XID。
XID 在微服务调用链路的上下文中传播。
RM 向 TC 注册分支事务,将其纳入 XID 对应全局事务的管辖。
TM 向 TC 发起针对 XID 的全局提交或回滚决议。
TC 调度 XID 下管辖的全部分支事务完成提交或回滚请求。
TC:事务事务协调器
TM:事务管理器
RM:资源管理器