分布式事务SAGA方案实现方式有两种

(1) SAGA - Choreography 策略

 通过事件驱动的方式来进行事务协调

 

代码实现方式:

订单服务使用@Transactional注解先执行本地事务再调用库存服务

库存服务使用@Transactional注解先执行本地事务再调用物流服务

物流服务使用@Transactional注解执行本地事务

如果物流服务执行失败本地事务回滚,先触发库存服务本地事务回滚,再触发订单服务本地事务回滚

(2) SAGA - Orchestration 策略

集中式协调器负责服务调用以及事务协调,阿里的 Seata 分布式事务框架中实现了此策略