The way a cluster of two RabbitMQ brokers is created is really similar to what is typically done when making a relational database highly available. The database remains a centralized resource offering high guarantees of availability. Still, RabbitMQ is not a one-trick rabbit when it comes to high availability.
To form a picture of a RabbitMQ system, the following two plugins allow broker connection:
- Shovel: Connects queues and exchanges between different brokers
- Federation: Forms cross-broker connections for queues to queues, or exchanges to exchanges
Both plugins ensure the reliable delivery of messages across brokers by routing them as instructed or offering a safe place for them to remain until they can be dealt with. Neither requires the brokers to be clustered, which simplifies setup and management. Moreover, both plugins work fine over WAN connections, which isn't the case in a clustering scenario.
Configure the destination node...