這篇文章https://blog.csdn.net/chunlon...:給消息中間件發送消息失敗,發送方并不知道是消息中間件真的沒有收到消息呢?還是消息已經收到了,只是返回response的時候失敗了?如果是已經收到消息了,而發送端認為沒有收到,執行update db的回滾操作。則會導致A賬號的錢沒有扣,B賬號的錢卻加了。意思是消息中間件會出現收到消息,給消費者消費了,但是生產者卻收到發送失敗我好奇的是,諸如kafka,rabbitMQ,ActiveMQ會出現這種狀況嗎?
1 回答

慕妹3242003
TA貢獻1824條經驗 獲得超6個贊
理論上不會。
你可以研究一下MQ的實現原理。
另外,你也可以自己實現MQ,或者自己實現部分邏輯。比如添加一個握手的過程,取得發送成功回執?;蛘咛砑右粋€確認的過程,發送成功或者失敗之后,都去MQ查一下消息存在不。
添加回答
舉報
0/150
提交
取消