Spring中大事务拆分方案

Spring中大事务拆分方案

模块设计的时序图

启动流程
在这里插入图片描述

激活事件
在这里插入图片描述

完成事件
在这里插入图片描述

长事务造成的影响

  1. 由于现在事件的完成及后续激活都在一个事务中,比如完成融资申请事件之后会去激活批次启动签约,前置协议,资质认证等事件,这些操作都在同一个事务中,当某一个激活操作异常时,会导致整个事务回滚,发起融资失败。
  2. 长事务导致问题定位困难,事件的完成和激活类似于一个长链条,当用户完成一个操作时,在同一个事务中完成其它操作失败,会导致用户操作失败,而报错的内容和用户当前的业务操作没有任务业务关系,对定位问题有很大的影响,也影响用户体验。比如当用户完成零售资产审核时回去激活协议生成,当协议生成失败时会导致用户零售资产审核操作失败。
  3. 长事务导致数据库锁持有时间长,导致在并发场景下获取连接超时,并发死锁等问题。
  4. 长事务导致业务重复处理,一个事件完成时,相关的业务操作已完成,当后续激活报错时
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值