[rabbitmq-discuss] Round-robin queue failover
mail at sebastian-latza.de
Mon Oct 19 11:41:06 BST 2009
I'm looking into a way how to implement a HA setup for persistent
queues. Since the rabbitmq cluster doesn't replicate queues across
multiple nodes my initial idea was to implement this on the client:
connect publisher and consumers to multiple independent servers,
create identical exchanges and queues, then send the messages round
robin to the nodes. While this has the additional benefit of proper
scalability it requires some effort on the client, I basically have to
override all methods and encapsulate the "replication" logic there.
While this isn't a true HA setup (messages in the broken node can't be
delivered until restart and correct order of messages isn't guaranteed
anymore) it solves 90% of the problem by providing a way to allow
continuous message publishing.
Now I have come across this  blog-post by Ilya Grigorik which
says: "Assign two identically named queues to an exchange and the
broker will automatically round-robin the messages". So my
understanding is that I could just create identical queues on every
node, and the broker will take care of the rest: if one node goes
down, messages will just be spread over the other queues/nodes.
Is this supported by rabbitmq? I've looked around in the amqp specs
and documentation, but couldn't find anything related.
More information about the rabbitmq-discuss