Getting started

CloudAMQP provides managed RabbitMQ servers in the cloud. These hosted message queues 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 set up by the user.

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.

New to RabbitMQ?

Users totally new to RabbitMQ will benefit from reading the guide for RabbitMQ beginners. 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 also explains the steps to go through when setting up a connection and publishing/consuming messages from a queue.

Create a CloudAMQP instance

The first step is to sign up for a plan. What plan you want to use will depend on your needs. We offer eight different plans, some with both dedicated clusters, individual servers, and vhosts on shared clusters.

Try CloudAMQP for free with the Little Lemur plan.

The instance is immediately provisioned, and you can view all your instances in the CloudAMQP Console.

cloudamqp instances

Instance details such as connection URL, server name, user/vhost, and password can be found on the details page. You can also upgrade the instance 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

After creating an account, there are helpful guides to get started with queuing and processing, depending on the platform and language. These guides cover the basics of creating messaging applications using CloudAMQP.

RabbitMQ Management Interface

The RabbitMQ Management Interface is a visualization of your RabbitMQ instance and allows you to show for example current message rate, which queues and exchanges you have, and the bindings between them. You can also create queues and publish messages manually, among other things.

You can access it through the CloudAMQP Console, via the button RabbitMQ Manager.

RabbitMQ Web Interface

AMQP Concepts

AMQP has many concepts to 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 is 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!