Deploying RabbitMQ using ElasticBox – Part 1

As you know, ElasticBox provides one-click deployments of applications using Boxes. In this blog post, I will go over how to deploy RabbitMQ using ElasticBox in a few simple steps. When you sign into ElasticBox, you’ll see that we’ve already created a Box for you to use for this deployment.

What is RabbitMQ?

RabbitMQ is a complete and highly reliable enterprise messaging system based on the AMQP standard. It offers a variety of features to let you trade off performance with reliability, including persistence, delivery acknowledgements, publisher confirms, and high availability. 

It is one of the most popular messaging systems in contemporary applications with high scalability requirements, including:

  • Flexible Routing: Messages are routed through exchanges before arriving at queues. RabbitMQ features several built-in exchange types for typical routing logic. For more complex routing you can bind exchanges together or even write your own exchange type as a plugin.
  • Clustering: Several RabbitMQ servers on a local network can be clustered together, forming a single logical broker.
  • Federation: For servers that need to be more loosely and unreliably connected than clustering allows, RabbitMQ offers a federation model.
  • Highly Available Queues: Queues can be mirrored across several machines in a cluster, ensuring that even in the event of hardware failure your messages are safe.

Use Cases

The three most common use cases for RabbitMQ are the following:

  1. Single RabbitMQ node for testing or non HA queues
  2. RabbitMQ Cluster for HA queues
  3. RabbitMQ Federation for a more reliable solution

In this blog post, I’ll show you how to use ElasticBox for the first scenario. I’ll go over the next two scenarios in subsequent blog posts.

Let’s see how simple it is to deploy a single node using the AWS provider.

1). Click on the “New instance” button and search for RabbitMQ. RabbitMQ will show up as it already exists in your personal Workspace. Select it.

2). In the next step, you will be asked to create a deployment profile, which lets you pick the configurations for deployment such as cloud provider, datacenter, etc.

3). Click on “New Profile.” Create a new deployment profile with default values.

  • Be sure to select Automatic in security groups. Using this option, ElasticBox will automatically create a security group configured with the rules needed by RabbitMQ.
  • For persistent queues, make sure you select an EBS backed image and instance combination.

4). Click on RabbitMQ to show the variables for this deployment. Set the username and password and click deploy.

ElasticBox will start deploying the instances and give you an endpoint. You can also edit any variables or scripts after deployment using the Lifecycle Editor.

There you have it, a single node running in just a few minutes.

Check out my next blog post to see how you can deploy a cluster for HA queues for production.

Hacker News

Categories: Cool Features & Tutorials