[rabbitmq-discuss] RabbitMQ Backup

Alex Lovell-Troy alex.lovelltroy at gmail.com
Wed Oct 27 09:43:04 BST 2010


We've been tackling this problem as well for transactional persistent
messages on durable queues in a very low traffic situation.  Our solution
was to write a small wrapper around the transaction that also commits the
message content to a database and then transactionally deletes the message
from the database as part of the ack.  The wrapper also stores information
about the queues and routing on startup.  With that, an additional small
script can recreate our queues in the case of host death.  It's certainly
not fast, but it is durable and keeps us from using the anti-pattern of
polling the database for status changes.

Since our queues and routing don't change very often, we think that a
slow/triggered update of that information is good enough which only leaves
the messages themselves.   We've been thinking of using erlang directly to
bind to the ETS table on the rabbitmq host and dump the messages to a fresh
ETS table on another node for a less db-centric backup/HA option.  We're
still not sure if that's a good idea or if it is workable, but it may point
you in another direction.

I'd be happy to hear if anyone else has already ascertained if this route is
fraught with danger.

-sascha



On Tue, Oct 26, 2010 at 6:17 PM, Ahmed M. Osman <a.medhat.cs at gmail.com>wrote:

> Hello Friends,
>
> i just have a little question about RabbitMQ backup and i hope that i can
> found the answer here
>
> simply, i want to make backup and and restore system to my Rabbit server,
> mainly backup the persistent messages, do i have to handle this using
> extra consumer that consume the messages then save it and enqueue it again
> in the queue ?
>
> or backuping Mnesia, but according to the following link
> http://www.rabbitmq.com/faq.html#migrate-to-another-machine
> i think backupping Mnesia won't be a good solution.
>
> and if backuping Mnesia is the solution are there a way to use any other
> language to make this backup other than using Erlang or any command or
> command line tool.
>
> *--
> Kind Regards,
>
> Ahmed
> *
>
>
> _______________________________________________
> rabbitmq-discuss mailing list
> rabbitmq-discuss at lists.rabbitmq.com
> https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rabbitmq.com/pipermail/rabbitmq-discuss/attachments/20101027/1fd936a8/attachment.htm>


More information about the rabbitmq-discuss mailing list