当需要2个事务才能完成一个完整业务时,回滚解决办法!抛砖引玉

这种情况一般会发生在与其他程序远程交互等待时间比较长的情况,例如:在作一个银行子系统比如基金认购,需要和储蓄系统进行交互!
  1. .基金认购时候需要对产品的剩余进行减少
  2. 和储蓄系统交互需要5秒,对此人账户进行扣款
这时候就需要2个事务!为什么?想象一下全国的系统如果一个交易锁5秒数据库那么。。。。。。。。(效率及其低下,如果先不减去等储蓄的信息回来後在回滚,这样可能造成最后的金额超出剩余金额)
可是如果失败了会怎么样?先减去的产品余额就不正确了,数据就不能回滚了这个时候我们可以怎么解决那?
  •     可以采取产品额度的临时表的办法,事务1(先把真正表中数据要减去的数据和判定一条记录的信息UPDATE到临时表),令一系统返回信息後:事务2(如果失败则手动将主表数据按照临时表的数据UPDATE)
总觉得还会有好的办法希望大家指点
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值