[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