Documentation – Getting started

CloudAMQP provide managed RabbitMQ servers in the cloud – hosted message queues that let you pass messages between processes and other systems. Messages are published to a queue by a producer; the consumers can then get the messages from the queue when they want to handle them. When not handling messages, the queue can route, buffer, and persist the messages according to rules you give it.

Messages can be sent across languages, platforms, and OS, which decouple processes and creates a highly scalable system.

CloudAMQP message broker

RabbitMQ is a high-performance message broker built using 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.

Are you new to RabbitMQ?

We recommend reading our guide for RabbitMQ beginners if you are totally new to RabbitMQ. The first part of RabbitMQ for beginners explains what RabbitMQ and message queueing is; a way of exchanging data between processes, applications, and servers. It will give a brief understanding of messaging and important concepts will be defined. The guide will explain the steps to go through when setting up a connection and publishing/consuming messages from a queue.

Create a CloudAMQP instance

To get started you need to sign up for a customer plan. What plan you want to use will depend on your needs. We offer seven different plans, some with 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, and you can view all your instances in the control panel.

cloudamqp instances

Instance details such as connection URL, server name, user/vhost, and password can be seen on 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 that you should get familiar with.

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

Queue
A queue is a buffer that stores messages for consumers to retrieve. A queue is bound to one or more exchanges, occasionally with a routing key. A queue may have one or many consumers.
Message
A message is what's transported between the publisher and the consumer, it's essentially a byte array with some headers on top.
Exchange
Receives messages from producers and deliver 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.
Binding
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 and is what determines to which queues a message 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 that says that the message will arrive at a queue with the same name as the routing key.
Routing key
Part of the header of every message, the routing key is used to route the message.

Exchange types

Exchanges receives a message and routes it to 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.

Direct
A client sends a message to a queue intended for a particular recipient. The default exchange is a direct exchange with no name (empty string) pre-declared by the broker.
Fan-out
A fanout exchange copies the message and routes it to all queues that are bound to it; the routing key is ignored.
Topic
A message is sent to a number of queues based on a set of rules.
Headers
Messages are routed based on the information contained in the headers.

Support

Don't hesitate to contact us at support@cloudamqp.com if you got any questions!