3

I have encountered an issue, and I can't find any solutions for it either.

I have 2 RMQ servers, let's call them RMQ1 and RMQ2. A Message is first published to main_exchange on RMQ1 which routes it to main_queue on RMQ1. There are no consumers set up on RMQ1. Queues in RMQ2 are federated queues of RMQ1 and consumers work on RMQ2 queues. I also have retry_queue and retry_exchange on both servers, and DLX for main_queue is set to retry_exchange.

The problem is that when I reject or NAck a message on RMQ2 (federated queues) the message is dropped from the queue and DLX is not triggered so the message completely vanishes, but when I publish messages to the main_exchange in RMQ2, DLX works perfectly fine.

DLX does not again work when I publish messages directly to queues (instead of publishing to an exchange) on RMQ1 or RMQ2 This problem again does not stand when I federate exchanges, but in this way, I have exactly the same messages twice on both servers and queues.

My workaround until now has been to use shovel from main_queue on RMQ1 to main_exchange on RMQ2. My question is why DLX does not work when using federation queues which is the solution for me.

A. Kalantari
  • 133
  • 9

0 Answers0