事务
要么全部执行成功,要么全部失败。
分布式事务
分布式事务指事务的参与者RM、支持事务的服务器、资源服务器以及事务管理器TM分别位于不同的分布式系统的不同节点之上,且属于不同的应用,分布式事务需要保证这些操作要么全部成功,要么全部失败。本质上说,分布式事务就是为了保证不同数据库的一致性。
分布式解决方案
2PC即两阶段提交协议,是将整个事务流程分为两个阶段、P是准备阶段,C是提交阶段。
- 准备阶段:事务管理器给每个参与者发送准备消息,每个数据库参与者在本地执行事务,并写本地的Undo或Redo日志,此时事务没有提交。
- 提交阶段:如果事务管理器收到了参与者的执行失败或超时消息时,直接给每个参与者发送回滚消息;否则发送提交消息,参与者根据事务管理器指令进行提交或者回滚操作,并释放事务处理过程中使用的资源。
Undo日志:记录修改前的数据,用于数据库的回滚。
Redo日志:记录修改后的数据,用于提交事务后写入数据的文件。
![](https://img.haomeiwen.com/i5128967/f2d719d6115747c5.png)
网友评论