[rabbitmq-discuss] fanout exchange that does not keep messages

Matthias Radestock matthias at lshift.net
Mon Jul 20 17:20:02 BST 2009


Brian, Holger,

Holger Hoffstätte wrote:
> Brian Whitman wrote:
>> I am concerned about this because over the weekend the broker crashed
>> (not sure why yet, but I assume it had something to do with probably
>> ~50m messages sitting in the exchange.) How can I have messages be
>> completely transient?
> 
> This is done with the "immediate" flag for a message; if there is no
> recipient, the message will be dropped.

Actually, generally a better solution to the problem is to ensure that
the queues do not outlive the consumers - by either marking them
exclusive (if you only have one consumer per queue) or auto-delete.

That way messages do really get dropped silently when there are no
consumers. By contrast, when setting 'immediate' the server will send a
basic.return to the producer.

And buffering can still take place to deal with temporarily
backlogged/slow consumers. By contrast, with 'immediate' the messages
will get dropped when the consumers are busy (not just when they are not
present).


Regards,

Matthias.




More information about the rabbitmq-discuss mailing list