码迷,mamicode.com
首页 > 其他好文 > 详细

两个系统操作同一条表记录涉及的事务的坑(依护系统)

时间:2020-06-04 01:27:50      阅读:95      评论:0      收藏:0      [点我收藏+]

标签:stat   不为   操作   bsp   nbsp   info   单表   接口   订单   

在一个事务里面A系统和B系统都会更新同一张表的同一条数据。

 

表order,订单表,订单表有三种状态,1:等待处理,2:A系统处理完成,3:B系统处理完成

技术图片

 

 

 A系统处理完成后,会把status变成2,把finish_time设置时间,同时会调用B系统的接口,告诉B系统我A系统处理完成,

 

B系统此时会回调A系统的接口,将finish_time不为空的订单的状态更新成3.。

假设此时A系统在一个事务里面操作id=1的订单

由于整个操作在一个事务里面,B系统通过接口调用A系统的,订单id=1的事务还没有提交,B系统的会话看到finish_time还是空(事务的隔离机制),不会把状态改成3。

 

两个系统操作同一条表记录涉及的事务的坑(依护系统)

标签:stat   不为   操作   bsp   nbsp   info   单表   接口   订单   

原文地址:https://www.cnblogs.com/mkl34367803/p/13040882.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!