rabbitmqazure-eventhubrabbitmq-shovel

How to handle stuck RabbitMQ Dynamic Shovel messages


We are currently using RabbitMQ Dynamic Shovels to forward messages to Azure Event Hub. Recently we setup a new Queue to be forwarded to Event Hub. Some messages in this Queue have a size of over 1MB which is the limit for messages on Event Hub. Because of this limit the messages bounce back and are sent again a few times each second. This creates a lot of network traffic which can be an issue.

Is there any way to send messages that bounce back to a DLX (dead letter exchange) or to a different queue? We have looked for some Dynamic Shovel options but could not find any that would be of any use.


Solution

  • Thank you Jesse Squire. Posting your suggestion as an answer to help other community members.

    Generally, for cases when your payload is (or may be) larger than the allowable size, we recommend considering the claim check pattern where you store your payload in some other durable store (such as Blob storage) and then publish the event with a body that points to that resource.

    You can refer to Dead-lettering dead-lettered messages in RabbitMQ.

    You can also open an issue on GitHub: rabbitmq-server