As per the document RabbitMQ in Action, to achieve scalability, we need to use RabbitMQ cluster, and there're below statements:&nbsp;<div><br><div><div>why doesn’t RabbitMQ replicate queue contents and state across all nodes by default?</div><div>There are two reasons:</div><div>1 Storage space—If every cluster node had a full copy of every queue, adding nodes</div><div>wouldn’t give you more storage capacity. For example, if one node could store</div><div>1 GB of messages, adding two more nodes would just give you two more copies</div><div>of the same 1 GB of messages.</div><div>2 Performance—Publishing messages would require replicating those messages to</div><div>every cluster node. For durable messages, that would require triggering disk</div><div>activity on all nodes for every message. Your network and disk load would</div><div>increase every time you added a node, keeping the performance of the cluster</div><div>the same (or possibly worse).</div></div></div><div><br></div><div>However, for achieving HA, the suggested approach is the built-in active-active option for queues:&nbsp;mirrored queues. And it's recommended to use:&nbsp;</div><div>queue_args = {"x-ha-policy" : "all" }<br></div><div><br></div><div>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?</div><div><br></div><div><br></div><div>Best regards,&nbsp;</div><div>Hudson</div>