rocketmq事务

Rocketmq分布式事务
结论:生产者如果事务提交完毕后,那么就一定会发一个消息去让消费者消费,
直到消费者消费完成,如果实在消费不了,那么就需要人工记录,由人工来处理.

两个阶段:
prepare: 1生产者产生一个’’预生产’’消息,一般会建一个transaction表记录所有的事务消息,该消息会有一个唯一的transaction_id:失败:事务回滚.
2 将’’预生产’’消息发送至mq:失败:事务回滚.
3 mq收到’’预生产’’消息,发送确认信息给生产者:失败:’’预生产消息’’并不会被消费者看见,也就无法消费,过段时间就被删除掉了,生产者也无法进行下一步,生产者事务回滚.
4 生产者收到了确认消息,进行生产事务,生产出一个产品:失败:事务回滚.
5 产品生产完成,transaction表也会多一个记录,发送一个’’预生产’’消息的确认消息,将’’预生产’’消息变为”生产”消息:发送失败:mq会定时去生产者那边查询没有变为”生产”消息的”预生产”消息(用transaction_id查询),查询到”预生产”消息的事务已提交时就将’’预生产’’消息变为”生产”消息,事务已回滚时,将消息删除.
6 生产者这边的事务已完成,mq将”生产消息”提交给消费者,直到消费者消费成功,一次失败就一直重试,重试次数过多就记录下,该异常由人工处理(就比如买快递,商家将商品已经发给快递方,快递收到了该商品,快递就会将商品送往买家,买家一直不在家,快递员跑了好几次,最后将快递记录下来,由人工处理).

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值