继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

项目开发中对事务的理解

qq_龙魂雪魄_04039348
关注TA
已关注
手记 1
粉丝 1
获赞 1

事务的概念

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

事务的使用原则


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

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

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

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

http://img3.mukewang.com/5efae210000152b105590908.jpg

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

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

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


打开App,阅读手记
1人推荐
发表评论
随时随地看视频慕课网APP