一、前提。
关于分布式事务,里面有个预提交的说法,而对于这个概念的描述,根据我查到的资料来说,就是:完成除了正式提交事务以外的其他事情(参与者执行事务中包含的操作,并记录undo日志(用于回滚)和redo日志(用于重放),但不真正提交)。
二、问题
对于上面的说法,我用一段下单的伪代码为例子(取消了DB的自动提交事务,然后写入sql语句)
`BEGIN
去订单表生成订单;
去库存表锁住库存并扣减库存;
COMMIT`
三、描述
根据上面的伪代码,预提交是否理解为:事务执行到库存那一步,停下来,如果成功锁住了订单表和库存表的相关数据。则向分布式事务框架的协调者这一角色返回成功的ack,然后分布式事务进入正式提交阶段,此时伪代码继续往下走,完成commit?
我在网上找到的资料,对于预提交这部分内容讲的比较少,不知道我这样理解对不对?如果不对,请指教,谢谢!
0 Commentaires