[rabbitmq-discuss] Roadmap Questions

Matthias Radestock matthias at lshift.net
Wed Jun 3 23:24:32 BST 2009


Keith,

Keith Irwin wrote:
> For instance, here's what I'd like to see:
> 
>  * Can store a LOT of messages on disk (more than fits in memory).
> 
>  * When one of the nodes in a cluster goes down, the queues on that 
> cluster begin working on another node. In other words, a fatal crash of 
> a node (server goes up in flames, disk melts) does not result in message 
> loss. (Replicated queues?)

The two key features of the new persister are

- message storage space is bounded by disk space rather than available 
physical or virtual memory

- the computational cost of keeping a message stored is bounded

So these address your first point.


Your second point is only tangentially related to persistence - one can 
easily image a system where message loss is prevented by keeping a 
sufficient number of copies of the message in memory on different 
machines, without the messages ever hitting the disk.

There are actually some fairly easy ways to get the kind of reliability 
you refer to from the existing RabbitMQ broker. Just to mention two of 
the options: 1) get the persister to write to a SAN, such that in the 
event of a node failure a standby node can pick up from where the first 
node left off, 2) route the messages to multiple queues on different 
nodes and get the consumers to consume from all the queues and perform 
deduplication.

We have discussed these and other options with users on a number of 
occasions. Alexis may have some slides handy that illustrate the 
different approaches.


Regards,

Matthias.




More information about the rabbitmq-discuss mailing list