Recommended Reading

CloudAMQP are managed RabbitMQ servers in the cloud – hosted message queues that lets you pass messages between processes and other systems. Messages are published to a queue by a producer, the consumers can then get the messages off the queue when the consumer wants to handle the messages. In-between, it can route, buffer, and persist the messages according to rules you give it.

Messages can be sent cross languages, platforms and OS, this way of handling messages decouple your processes and creates a highly scalable system.

CloudAMQP message broker

RabbitMQ is a high performance message broker, built in Erlang, which implements the AMQP protocol. All AMQP client libraries work with CloudAMQP and there are AMQP client libraries for almost every platform out there, including: Ruby, Node.js, Java, Python, Clojure and Erlang.

Create a CloudAMQP instance

To get started you need to sign up for a customer plan. What plan you want to use depend of your needs. We offer seven different plans, both dedicated clusters, individual servers and vhosts on shared clusters.

You can try CloudAMQP for free with the plan Lemur.

The instance is immediately provisioned after sign up and you can view all your instances in the control panel.

cloudamqp instances

The instance details, such as connection URL, server name, user/vhost and password can be seen at the details page. You can also go to the RabbitMQ management page from the detail page.

CloudAMQP offers various monitoring tools. These tools will address performance issues promptly and automatically, before they impact your business. Read more about the monitoring tools here.

cloudamqp instance

Once you have created your account you can get started queuing and processing by using any of the guides listed, depending on platform and language. These tutorials cover the basics of creating messaging applications using CloudAMQP.

RabbitMQ Management Interface

The RabbitMQ dashboard allows you to show the current message rate, which queues and exchanges you have, and the bindings between them. You can also queue and pop messages manually, among other things.

RabbitMQ Web Interface

AMQP Concepts

AMQP has a bunch of concepts which can be good to be familiar to.

For a more complete guide to AMQP see RabbitMQ's concept guide.

A queue is a buffer that stores messages, for clients to retrieve. A queue is bound to one or more exchanges, optionally with a routing key. A queue may have one or many consumers.
A message is what's transported between the publisher and the consumer, it's essentially a byte array with some headers on top.
Receives messages from producers and pushes them to queues depending on rules defined by the exchange type. In order to receive messages, a queue needs to be bound to at least one exchange.
AMQP allows you to very granularly route your messages between incoming exchanges and outgoing queues. A binding is a link between a queue and an exchange. A binding is what determinants to which queues a message arriving to an exchange should be routed, it may be to zero or many. How a message is routed depends on which kind of exchange the message was destined for and the "routing key".
The "default exchange"
The default exchange has no name, but there's a default binding which says that the message will arrive at a queue with the same name as the "routing key".
Routing key
As part of the header of every message there's a key called the "routing key" which can be used to route the message.

Exchange types

Exchanges take a message and route it into zero or more queues. The way the message is routed depends on the exchange type and rules called bindings.

A complete guide about the different exchange types can be found here: RabbitMQ for beginners - Exchanges, routing keys and bindings.

A client sends a message to a queue for a particular recipient. The default exchange is a direct exchange with no name (empty string) pre-declared by the broker.
A fanout exchange copies the message and routes the message to all queues that are bound to it, the routing key is ignored.
A message is sent to a number of queues based on some rules.
Message headers are inspected and the message is routed based on those headers.

Local RabbitMQ workstation setup

RabbitMQ is easy to install locally for development.

If you have... Install with...
Mac OS X brew install rabbitmq
Windows The installer
Ubuntu Linux
sudo echo "deb testing main" >> /etc/apt/sources.list
sudo apt-key add rabbitmq-signing-key-public.asc
sudo apt-get update
sudo apt-get install rabbitmq-server
Other See RabbitMQ's installation page


There's a lot of good resources for RabbitMQ related stuff, here is a small collection:

Mass Transit logo

Example projects

We've provided a couple of example projects which you can fork or steal at will:


Don't hesitate to contact us at if you got any questions!