消息中间件会出现收到消息,给消费者消费了,但是生产者却收到发送失败的结果吗?

这篇文章https://blog.csdn.net/chunlon...

给消息中间件发送消息失败,发送方并不知道是消息中间件真的没有收到消息呢?还是消息已经收到了,只是返回response的时候失败了?如果是已经收到消息了,而发送端认为没有收到,执行update db的回滚操作。则会导致A账号的钱没有扣,B账号的钱却加了。


意思是消息中间件会出现收到消息,给消费者消费了,但是生产者却收到发送失败
我好奇的是,诸如kafka,rabbitMQ,ActiveMQ会出现这种状况吗?

阅读 2.3k
2 个回答

分布式事务了解一下

理论上不会。
你可以研究一下MQ的实现原理。
另外,你也可以自己实现MQ,或者自己实现部分逻辑。比如添加一个握手的过程,取得发送成功回执。或者添加一个确认的过程,发送成功或者失败之后,都去MQ查一下消息存在不。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题