[rabbitmq-discuss] the new persister and mnesia replication

Matthew Sackman matthew at rabbitmq.com
Mon Jul 19 16:42:37 BST 2010


Hi Alex,

On Sun, Jul 18, 2010 at 09:53:22AM +0100, Alex Lovell-Troy wrote:
> I'm interested in using rabbitmq for guaranteed delivery rather than
> speed.  Disk persistence through durable queues isn't enough because
> messages can still be lost in the case of disk/host death.

Well, with some level of RAID > 0, you could certainly make it somewhat
unlikely that the messages will get totally lost...

> But,
> rabbitmq already uses mnesia for the durable message store and mnesia
> is replicable.

No it doesn't. Rabbit does not use mnesia to store messages. It only
uses mnesia to store meta information about exchanges, queues, bindings,
usernames, permissions etc. Not messages, and certainly not message
content.

> Has anyone done anything with the current persistence
> engine or the new persister to take advantage of mnesia replication to
> replicate persistent messages on durable queues across multiple mnesia
> nodes?

Not that I'm aware of.

> If not, is that a crazy thing to do in a low message volume
> situation?

In a low volume case it could work. But the messages would not be
accessible from other nodes in the event of a failure - yes you could
access the messages directly in the database, but you would not be able
to bring up a queue and have it populate itself with the messages in the
database without repairing the original node - at least not without
changing quite a lot more of Rabbit's innards. As such, I'm not really
sure what you've gained which you wouldn't have from a NAS or even
something like DRBD.

Matthew


More information about the rabbitmq-discuss mailing list