分布式事務使用,組長有話說:
1、跨服務調用的 兩邊都有改資料或新增資料的 都要加上本地事物 并且 發起方要加上 分布式事物 千萬别忘了啊
2、尤其是 調用mq的時候
3、 我把用到mq的地方都加了分布式注解,漏的你們看一下。
應用
portal的托運單,确認下單後,先同步到oms,再從oms同步到tms 。
seata分布式事務
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLiAzNfRHLGZkRGZkRfJ3bs92YsYTMfVmepNHL5Z1RkBjVtllZshkYwhnMMBjVtJWd0ckW65UbM5WOHJWa5kHT20ESjBjUIF2X0hXZ0xCMx81dvRWYoNHLrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZuBnLzMTM4UTM0cTM4ADNwAjMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
1. 單據同步時,發送MQ。
MQ裡面調用feign api。feign接口調用的service服務實作類都需要加事務控制。
調用方和被調用方都需要加事務注解。
@GlobalTransactional(rollbackFor = Exception.class)
@Transactional(rollbackFor = Exception.class)
2. 對單據進行修改操作時,首先要擷取分布式鎖。
成功取到鎖,才能繼續下面的業務操作,操作完後釋放分布式鎖。
Seata 官網位址: http://seata.io/zh-cn/