[rabbitmq-discuss] RabbitMQ Deployment Architectures (for lack of a better subject)

Michael Klishin mklishin at gopivotal.com
Sat Apr 12 16:06:30 BST 2014

On 12 April 2014 at 18:09:43, Greg Poirier (greg.poirier at opower.com) wrote:
> > Not all of our services have the same SLA. Some can tolerate certain  
> amounts of message loss... others cannot tolerate message loss  
> well at all. In order to address this, I'm looking at deploying  
> several different configurations of RabbitMQ clusters.
> That being said, I'd like for services not to have to know which  
> RabbitMQ cluster they have to connect to. I would like to effectively  
> have a set of "router" hosts that are all configured identically  
> that federate exchanges to the various "storage" clusters that  
> take care of our SLA requirements (mirror count, number of hosts,  
> amount of disk/memory, etc).
> Is this kind of configuration possible?

One straightforward way of “routing” would be to use multiple exchanges
that are federated to different “storage” clusters.

You can name them sla1, sla2 and so on, for example.

> If both consumers and producers connect to different, non-clustered  
> "router" systems, how do I configure federation to achieve this?  

Publishers publish to different exchanges in the “router” cluster, federation
propagates messages to N “storage” clusters where consumers declare the queues
they need and bind them to federated [destination] exchanges. Then consume
messages as if they were published to their cluster.

If you have any specific examples you need help them, please clarify. 

Software Engineer, Pivotal/RabbitMQ

More information about the rabbitmq-discuss mailing list