You are here: Home » NewsFeeds » RabbitMQ – Run a highly available cluster with Docker and HAProxy

RabbitMQ – Run a highly available cluster with Docker and HAProxy

README.md

Read the documentation
A docker stack to create, test and benchmark a rabbitmq cluster in high availability configuration:
Tool
Version
RabbitMQ
v3.6.5
HAProxy
v1.6.3
PHP
v7.1
Docker
v1.12+
Docker-compose
v1.8+
HAProxy as a load balancer
N nodes cluster
Durable, Mirrored and Persistent Exchanges, Queues and Messages
HA custom policies
Parallel producers and consumers
Node failures and network partition experiment
If you have questions, comments or suggestions please just create issues.
The architecture

3 RabbitMQ nodes but we can add a lot more.
3 docker networks to be able to simulate network partition.
1 HAProxy node to load balance request and to be “failure proof”.
1 default network for the consumers and producers to connect with nodes through HAProxy.
The stack
A lot of great tools (thanks to all awesome authors)
Tests / Benchmark
With this stack you will be able to experiment:
Load Balancing
Node failure
Network partition
Messages persistency
Message NO ACK and retries
Setup / Start / Stop the cluster
Read the documentation for Setup / start / stop
Swarrot/SwarrotBundle
Read the documentation for Swarrot/SwarrotBundle
php-amqplib/RabbitMqBundle
Read the documentation for php-amqplib/RabbitMqBundle
Tests/Benckmark
Node failures
Read the documentation


 

Original article