如果订单系统给用户系统发送mq成功了,然后订单系统也落了它自己的库,但是用户系统执行对应的操作失败了。这时候怎么办?
来源:6-2 spring分布式事务实现_使用JTA

慕码人1464173
2019-06-27
老师,你好。
微服务中,如果订单系统给用户系统发送mq成功了,然后订单系统执行剩下的业务逻辑,那么整个订单系统中的流程走完了,订单系统也落了它自己的数据,事务也提交了,但是用户系统突然执行对应业务逻辑失败了。这时候怎么回滚订单库中的事务?
写回答
2回答
-
麻辣牛蛙真好吃
2021-04-10
用户系统要先多次retry。报警。人工干预。
也可以自动触发回滚,就是生产多个消息,去回滚之前多个数据。发到其他的消息队列里面。可以标记优先级给每个消息.
112021-04-20 -
大漠风
2019-07-08
这就是在分布式系统中处理事务的逻辑,每个系统只负责自己的流程,订单系统保证订单处理完成,用户系统处理自己支付逻辑。
如果用户系统处理支付流程失败了,那就由用户系统处理自己的错误,如果错误无法修复,那就触发一个订单失败的流程,发给订单系统。10
相似问题
关于消息驱动模式中支付过程这一节的问题
回答 1
多个应用服务只访问单个数据库
回答 2
幂等性校验问题请教
回答 2
关于消息驱动架构在实际项目的应用
回答 1
如何实现提交数据库事务之后,再发送mq
回答 1