RabbitMq 如何保证一个进程内,多条消息的一致性?? 400 报错-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

RabbitMq 如何保证一个进程内,多条消息的一致性?? 400 报错

爱吃鱼的程序员 2020-06-01 14:02:42 14

RabbitMq 如何保证一个进程内,多条消息的一致性?? 400 报错

我有一个应用场景 进程: 1.商品上架 i-- 商品上架成功 ii-- 发送 更新库存消息 iii-- 发送 发送提示有关人员消息

        情况一: 商品上架失败,直接本地事物回滚 情况二: 发送库存更新失败,直接让事物回滚 情况三: 发送提示有关人员消息失败 ,但此时已经发送更新库存了, 如何让 更新库存回滚

如何让发送发送提示有关人员消息失败时,将更新库存的消息回退

遇到这种情况,请问大家如何解决???

消息中间件
分享到
取消 提交回答
全部回答(1)
  • 爱吃鱼的程序员
    2020-06-01 14:02:43

    1到3事件都放在一个方法中,使用同一个事务,任何一个事件失败回滚整体。

    ######回复 @prb_qb : 如果是小概率失败事件,你可以在情况三失败的时候发个库存回滚的mq。或者消息发送失败的时候进入死信队列,后面再统一处理。######回复 @山岳之巅 : 用事物并发会下降啊,如果是用事物的话,我知道怎么决解了。除了事物方式,还有其他方式可以实现吗?######回复 @prb_qb : rabbitmq也是有事务机制的,具体你看下这篇博客https://blog.csdn.net/a807719447/article/details/94589598######是在同一个事物中,但是发送提示有关人员消息失败,事物就算回滚,但此时更新库存的信息已经发送到rabbitmq了,如何删除掉rabbitmq的这条消息?######

    不明白有问题为啥都要@springboot-plus

    0 0
微服务
使用钉钉扫一扫加入圈子
+ 订阅

构建可靠、高效、易扩展的技术基石

推荐文章
相似问题