一、事务:
作为单个逻辑执行单元的一组操作,要么全成功,要么全失败。它是并发控制的单位,是用户定义的一个操作序列。这些操作要么都做,要么都不做,是一个不可分割的工作单位。
二、四大特征:
- 原子性:表示事务内操作不可分割,要么都成功、要么都是失败
- 一致性:要么都成功,要么都失败,后面的失败了要对前面的操作进行回滚
- 隔离性:一个事务开始后,不能受其他事务的干扰
- 持久性/持续性:表示事务开始了就不能终止
三、分布式事务
分布式事务用于在分布式系统中保证不同节点之间的数据一致性。分布式事务的实现有很多种,最具有代表性的是由 Oracle Tuxedo 系统提出的 XA 分布式事务协议。
XA协议包含 两阶段提交(2PC)和 三阶段提交(3PC)两种实现。
在XA协议中包含着两个角色:事务协调者和事务参与者。它们俩之间的协作关系有点像 TCP 握手那样需要相互进行沟通,以确定各个参与者都完成了自己需要完成那些任务,协调者根据各个参与者反馈的完成情况,来采取不同的应对措施。大概意思就是这样,具体如何协调及整个流程,感兴趣的朋友可以自行查阅,资料很多。:)
想要打赏,请点击这里