Queues can be distributed between nodes by either
- expliciting declaring the queues in the node where we want it to go,
- or delegating to RabbitMQ to evenly distributed the queue for us
These two options are fully explained in the rabbitmq docs.
However it is important to understand that when nodes are restarted, say during a rolling upgrade, we may end up with an unbalanced cluster. RabbitMQ will NOT automatically move queues in an attempt to obtain a balanced cluster.