问题描述
查了很多资料,说是rabbitmq支持事务但是没想明白,这个事务是这么实现的比如我”支付系统“完成支付之后,要发消息给订单系统和商品系统那这个时候的事务应该怎么做呢假如,”订单系统“接受到消息后处理成功了,但是”商品系统“处理失败了这个时候怎么回滚”支付“结果和”订单“的处理呢
解决方案
本帖最后由 xiaqi1210 于 2014-08-02 15:34:36 编辑
解决方案二:
自己顶一个~
解决方案三:
建议LZ实现一个分布式的锁吧,数据库或者缓存都可以。锁中两个标记位订单系统、商品系统当两个都提交成功则释放,如果两个都没有成功或者有一个没有成功,则都回滚,再释放。
解决方案四:
自己实现分布式锁,成本比较高如果rabbitmq本身带有事务功能的话,应该是比较健壮的
解决方案五:
没人用过了吗
时间: 2024-08-04 05:13:02