[rabbitmq-discuss] Replicated message queue? DRDB+Hearbeat?
tonyg at lshift.net
Thu Feb 28 08:16:15 GMT 2008
Tom Samplonius wrote:
> I see that RabbitMQ does not yet have replication for message queues.
You're right. One of the items we're discussing informally at the moment
here at LShift is the best way to refactor the codebase to support
pluggable queue backends. Once that's done, it'll be easy to support the
existing fast journal-based implementation alongside such as
- a mnesia-backed queue
- an ODBC-backed queue
> I need a high-available message queue that never loses messages. I'm not
> terribly concerned about performance, as I just need to process several
> thousand messages per day. It is just hard to repair consistency if any
> are lost.
> Anyone tried DRDB, or any other block mirroring system to create a
> cluster layer beneath RabbitMQ?
That's a *really* interesting idea. Rabbit's message store is in fact
not in Mnesia (otherwise it'd already be replicated! :-) ), but is in a
separate disk_log-based journal called "rabbit_persister.LOG". From
casual investigation of DRBD it seems that your approach could work well.
The more I think about it the more I like the idea. If you try it,
please share your results with us. If I get time (!) I'll have a stab at
it myself, but I'm afraid that's not likely for the next few weeks.
More information about the rabbitmq-discuss