为了账号安全,请及时绑定邮箱和手机立即绑定

项目开发中对事务的理解

事务的概念

介绍事务概念的文章很多, 这里不再重复, 只写一些在项目中应用事务的业务场景处理思路

事务的使用原则


  1. 不使用事务就不用事务;

  2. 事务中避免调用第三方服务接口, 包括其他的微服务接口, 尽量使用短事务, 降低单个事务占用数据库连接池的时间;

  3. 调用第三方服务接口是应该考虑本地数据状态的必然修改和第三方接口调用失败时的处理方案.

事务使用流程(调用第三方接口)

https://img1.sycdn.imooc.com//5efae210000152b105590908.jpg

  1. 在调用第三方接口前悲观方式认为本次接口调用失败, 更新业务状态, 如果涉及多张表, 新建单独service处理多表的状态更新或者新增, 确保调用第三方接口前本地数据无法二次消费;

  2. 根据第三方调用结果使用业务数据表中的id更新业务状态, 此时除非系统中数据超过数据库的处理能力, 一般不会失败, 如果失败, 有前面的状态变更, 可以查询系统日志和第三方接口调用记录最终判断本次业务是否处理成功;

  3. 该方案的业务设计原则是不允许业务数据重复消费.


点击查看更多内容
1人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消