Skip to main content

RabbitMQ Tutorials

These tutorials cover the basics of creating messaging applications using RabbitMQ.

You need to have the RabbitMQ server installed to go through the tutorials, please see the installation guide or use the community Docker image.

Executable versions of these tutorials are open source, as is this website.

There are three groups of tutorials:

info

These tutorials target RabbitMQ 4.x.

Queue tutorials with AMQP 1.0​

This section covers the modern messaging protocol in RabbitMQ, AMQP 1.0. This protocol works out of the box, without enabling any plugin.

1. "Hello World!"​

The simplest thing that does something

2. Work Queues​

Distributing tasks among workers (the competing consumers pattern)

3. Publish/Subscribe​

Sending messages to many consumers at once

4. Routing​

Receiving messages selectively

5. Topics​

Receiving messages based on a pattern (topics)

6. RPC​

Request/reply pattern example

Stream tutorials​

This section covers RabbitMQ streams.

1. "Hello World!"​

The simplest thing that does something

2. Offset Tracking​

Keep track of message processing

Stream Overview and Blog Posts​

Once you have been through the tutorials (or if you want to skip ahead), you may wish to read the RabbitMQ stream documentation and browse our stream blog posts.

Getting Help​

If you have any questions or comments regarding RabbitMQ, feel free to ask them on GitHub Discussion or RabbitMQ community Discord server.

Tutorials in Other Languages​

The tutorials here use a number of popular technologies, however, there are ports available for many more languages and client libraries, for example:

We also maintain a list of community-developed clients and developer tools for various protocols RabbitMQ supports.