[rabbitmq-discuss] suggestions for failover

David Wragg david at rabbitmq.com
Tue Sep 28 15:24:14 BST 2010

Hi Shane,

Shane <shane at digitalsanctum.com> writes:
> I'd like suggestions on automating failover of brokers and the
> consumers that are connected to them. The failover doesn't have to be
> active/active and may take up to a half hour. Ideally, I'd like to
> have at least two brokers located on different hosts. The hosts will
> have access to the same file system (NFS). The number of messages will
> be relatively small (<5K/day) and the number of queues no more than 10
> so one broker running at a time should be sufficient.

Note that while RabbitMQ persistence is intended to work on top of NFS,
we haven't done performance testing of that configuration.  With the
message rates you mention, it seems unlikely that you'll run into
problems in that regards, but it's something to be aware of.

> I've looked at the clustering guide and it's purpose seems to be for
> scaling but not failover.

That's correct.  What we have traditionally termed clustering is
intended for scaling, not availability.

> I've also looked at the Pacemaker guide but it seems to be an involved
> and more complicated setup than what I need.
> What steps are others doing for failover? What are my options beyond
> the Pacemaker guide?

The pacemaker guide is intended to be illustrative, as well as giving a
concrete guide on one way to implement failover with RabbitMQ.  There
are alternative technologies, both open source and proprietary, that can
be used instead of pacemaker, drbd, etc.  We'd welcome reports from
users that have implemented failover using other products.

If you have configured rabbit to store its data on NFS, then you won't
need the drbd component.  And if you already have appropriate monitoring
and alerting arrangements in place, then you might well be able to
achieve a 30 minute failover time without using pacemaker or some other
cluster resource manager.  Even a manual failover process might be
acceptable in such a context.


David Wragg
Staff Engineer, RabbitMQ
SpringSource, a division of VMware

More information about the rabbitmq-discuss mailing list