分布式事务使用,组长有话说:
1、跨服务调用的 两边都有改数据或新增数据的 都要加上本地事物 并且 发起方要加上 分布式事物 千万别忘了啊
2、尤其是 调用mq的时候
3、 我把用到mq的地方都加了分布式注解,漏的你们看一下。
应用
portal的托运单,确认下单后,先同步到oms,再从oms同步到tms 。
1. 单据同步时,发送MQ。
MQ里面调用feign api。feign接口调用的service服务实现类都需要加事务控制。
调用方和被调用方都需要加事务注解。
@GlobalTransactional(rollbackFor = Exception.class)
@Transactional(rollbackFor = Exception.class)
2. 对单据进行修改操作时,首先要获取分布式锁。
成功取到锁,才能继续下面的业务操作,操作完后释放分布式锁。
Seata 官网地址: http://seata.io/zh-cn/