Scaling RabbitMQ with shared exchanges
Sharded exchanges can be enabled by using the a plugin with rabbitmq. It is useful for distributing load across multiple queue for the same routing keys.
Using sharded exchanges, you can shard messages across the cluster so that a single node doesn’t become overwhelmed.
These slides explain the setup in more detail.
PS: The deployment was load-tested using on rabbitmq clusters hosted on https://www.cloudamqp.com/.