[rabbitmq-discuss] Replicated message queue? DRDB+Hearbeat?

Tony Garnock-Jones tonyg at lshift.net
Thu Feb 28 08:16:15 GMT 2008


Hi Tom,

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
  - other?

> 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.

Understood.

> 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.

Regards,
   Tony




More information about the rabbitmq-discuss mailing list