[rabbitmq-discuss] Simultaneous Scalability and HA

Hudson Jiang hudson.9999 at gmail.com
Fri Jun 21 09:39:33 BST 2013


As per the document RabbitMQ in Action, to achieve scalability, we need to 
use RabbitMQ cluster, and there're below statements: 

why doesn’t RabbitMQ replicate queue contents and state across all nodes by 
default?
There are two reasons:
1 Storage space—If every cluster node had a full copy of every queue, 
adding nodes
wouldn’t give you more storage capacity. For example, if one node could 
store
1 GB of messages, adding two more nodes would just give you two more copies
of the same 1 GB of messages.
2 Performance—Publishing messages would require replicating those messages 
to
every cluster node. For durable messages, that would require triggering disk
activity on all nodes for every message. Your network and disk load would
increase every time you added a node, keeping the performance of the cluster
the same (or possibly worse).

However, for achieving HA, the suggested approach is the built-in 
active-active option for queues: mirrored queues. And it's recommended to 
use: 
queue_args = {"x-ha-policy" : "all" }

Is above cluster approach for scalability conflicted with the mirrored 
queues approach for HA (do I misunderstand anything)? How can I achieve 
both of them simultaneously?


Best regards, 
Hudson
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rabbitmq.com/pipermail/rabbitmq-discuss/attachments/20130621/39f4efc1/attachment.htm>


More information about the rabbitmq-discuss mailing list