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

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

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


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


炎炎设计
浏览 529回答 1
1回答

翻阅古今

理论上不会。你可以研究一下MQ的实现原理。另外,你也可以自己实现MQ,或者自己实现部分逻辑。比如添加一个握手的过程,取得发送成功回执。或者添加一个确认的过程,发送成功或者失败之后,都去MQ查一下消息存在不。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java