rabbitmq-delayed-message-exchange and head of message blocking

205 views
Skip to first unread message

Tyler Knappe

unread,
May 3, 2016, 6:15:15 PM5/3/16
to rabbitmq-users
I was looking at the rabbitmq-delayed-message-exchange plugin as a potential way to solve an issue we haven't solved with RabbitMQ.  We're looking to implement an exponential backoff when attempting to retry messages (https://github.com/emque/emque-consuming/pull/55) and having trouble avoiding the issue of the head message blocking all subsequent messages.  For example, if we have 3 messages in the queue with an x-delay of 1000, 2000 and 3000 where the head of the queue has the message with an x-delay of 3000.  In all of the Dead Letter Exchange implementations (the suggested way to delay a retry, like this one https://felipeelias.github.io/rabbitmq/2016/02/22/rabbitmq-exponential-backoff.html) that I've seen to date, there is an issue with the message blocking due to the TTL of the individual message preventing other messages in the queue from being processed, since the head message has to first expire before any further messages can be processed.

Does the rabbitmq_delayed_message_exchange plugin suffer from the same issue?  https://github.com/rabbitmq/rabbitmq-delayed-message-exchange#usage seems to imply this is not the case because the first message is published before the second message with more delay, but I'm also not entirely sure if this is also due to if the queue is a Last In First Out (LIFO) or First In First Out (FIFO) implementation.  Could anyone confirm if this is the case?

Thanks!
-Tyler

Michael Klishin

unread,
May 3, 2016, 8:59:40 PM5/3/16
to rabbitm...@googlegroups.com
All queues in RabbitMQ are FIFO but rabbitmq-delayed-message-exchange doesn't use a queue
to store delayed messages.

--
You received this message because you are subscribed to the Google Groups "rabbitmq-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rabbitmq-user...@googlegroups.com.
To post to this group, send email to rabbitm...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.



--
MK

Staff Software Engineer, Pivotal/RabbitMQ
Reply all
Reply to author
Forward
0 new messages