Tag Archives: RabbitMQ Clustering with Ubuntu

RabbitMQ Clustering on AWS using Ansible

In this short post, I’ll show you the steps to configure the RabbitMQ clustering on AWS using Ansible. We decided to use the RabbtiMQ instead of AWS SQS because we want better performance and also require some flexibility.

In this setup, we have created 3 EC2 servers(Ubuntu 14.04 LTS) and 1 classic ELB on AWS. Clients both providers and consumers connect to the RabbitMQ servers through ELB, so system will be functional even one or more server will be down in other words system will be operational as long as one of the server is running.

RabbitMQ Requirement(Copied from official RabbitMQ Site):

RabbitMQ nodes address each other using domain names, either short or fully-qualified (FQDNs). Therefore hostnames of all cluster members must be resolvable from all cluster nodes, as well as machines on which command line tools such as rabbitmqctl might be used.

Hostname resolution can use any of the standard OS-provided methods:
DNS records
Local host files (e.g. /etc/hosts)

Settings on AWS: Read more of this post