Multi-Node Message Broker Cluster Solutions for Azure cloud

Saif Bhatkar
3 min readJul 12, 2020

--

This blog is intended for the users who are looking for cluster solution for highly available message broker supporting MQTT, AMQP and STOMP protocols inside Azure Cloud. The additional benefit of adopting this solution is the simplicity of the deployment approach.

Why we need this solution ?

Many enterprise applications are preferring Azure Cloud as their hosting platform & this trend is increasing. But enterprise applications have sophisticated requirements of having a message broker which is:
1) Highly Available
2) Synchronized & consistent
3) Automatic recovery
4) cost-effective
5) Able to meet the complex messaging scenarios

Why I chose RabbitMQ?

When I came across working with message brokers I realized that there are many such brokers available. So I decided to thoroughly research each of them. I started with Azure Service Bus Queue which seems to be good PaaS offering. Then I moved to EMQ, VerneMQ, Kafka(More suitable for distributed streaming platform and less better fit for message queuing patterns) & finally RabbitMQ. I realized that RabbitMQ is the better choice when it comes to handling complex message broker queue routing scenarios. This makes it a promising choice for enterprise applications.

You can also check the popularity of other messaging broker tools with RabbitMQ, I used Google Trends and here are the statistics of RabbitMQ with other tools for the last 2 years:

Google Trend

For a more details, see below blogs about choosing between message broker tools:
1. Choosing MQTT broker
2. Kafka and RabbitMQ

My next step was to analyse cost of choosing this approach. Surprisingly RbbitMQ is cheaper than Azure Service Bus Queue (PaaS Solution).

For a more details, see this blog about Cost Comparison between Azure Service Bus Queues and RabbitMQ

Why I chose Bitnami(RabbitMQ) Multi-Tier Solution for Azure?

I continued to explore more about HA multi node solution, then I came across to Azure Cloud and found that it also provides virtual machines as IaaS solution with Bitnami and other vendors, Bitnami partnered with Azure and offers End-to-end automated 1.Single-Tier and 2. Multi-Tier RabbitMQ deployment packages available in Microsoft Azure cloud.

You can spin up single or multi-node cluster using most up-to-date Bitnami RabbitMQ images from Azure marketplace with just one Click and entire RabbitMQ MultiNode stack will be ready in the matter of minutes.These binami images are absolutely free to use, the only thing you need pay is for compute.

This solution is super easy to use as Btinami do all heavy lifting end-to-end deployment for you. You don’t even need to create ARM template, anyone can go into Azure marketplace and choose a template from it.

For more details, see this site about How Btinami RabbitMQ Works : https://docs.bitnami.com/azure/infrastructure/rabbitmq/#first_steps

Once you setup the cluster , then You can check the cluster status using RabbitMQ Management Console or running command on Terminal.

RabbitMQ Management Console
RMQ Terminal

Summary

In this post, we took a basic look at Multi-Tier Bitnami RabbitMQ Azure solution which help to understand types of Btinami deployment offering over Azure Cloud at no additional cost. This approach reduce multiple manual installation steps involved in building own cluster (Provisioning VMs, installation of RabbitMQ binaries, configuration of cluster). Thanks to Azure+Bitnami for making our life easier by providing readymade Bitnami RabbitMQ deployment Package.

--

--

Saif Bhatkar

11 years+ Enterprise Solution Architect | AI Engineering Lead | Gen AI / MLOps/ Cloud / DevOps | Life Science | Data Science & Engineering | Solution Delivery