The message middleware will appear to receive the message and consume it to the consumer, but does the producer receive the result of sending failure?

this article https://blog.csdn.net/chunlon.:

failed to send a message to the message middleware. Does the sender not know that the message middleware really did not receive the message? Or has the message been received, but failed to return response? If the message has been received and the sender thinks that it has not been received, the rollback operation of update db is performed. It will cause the money of the An account not to be deducted, but the money of the B account to be increased.

< hr >

means that the message middleware will receive the message and consume it to the consumer, but the producer will receive the failure to send it.
I wonder, will this happen to people such as kafka,rabbitMQ,ActiveMQ?

May.12,2021

learn about distributed transactions


theoretically not.
you can study the implementation principle of MQ.
in addition, you can also implement MQ, yourself or implement part of the logic yourself. For example, add a handshake process to get a successful receipt. Or add a confirmation process, after sending success or failure, go to MQ to check whether the message exists.

Menu