[rabbitmq-discuss] consistent hashing plugin

Ernest Staszuk ernest.staszuk at comarch.pl
Wed Jan 16 14:15:53 GMT 2013


 From plugin's readme:

    Each message gets delivered to at most one queue. Normally, each

    message gets delivered to exactly one queue, but there is a race

    between the determination of which queue to send a message to, and the

    deletion/death of that queue that does permit the possibility of the

    message being sent to a queue which then disappears before the message

    is processed. Hence in general, at most one queue.

Note that consistent-hashing does not ensure persistence of messages due 
this issue.

In my experience consistent-hashing handles bindings removal or queue 
deletions
poorly. I had been running into NO ROUTE exception constantly when I used
consistent-hashing-exchange with auto-deleted queues.

I also tried to use alternate-exchanges to catch bad cases. Had 
difficulties
with that also.

On 01/16/2013 01:21 PM, Grégoire Seux wrote:
> 1. create a consistent hashing exchange (auto-delete, non durable),
> start send messages with random routing key
> 2. create a queue (non durable, exlusive, auto delete) and bind it to
> the exchange (routing key : "20"), consume messages from it
> 3. delete the queue

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rabbitmq.com/pipermail/rabbitmq-discuss/attachments/20130116/fcfd9978/attachment.htm>


More information about the rabbitmq-discuss mailing list