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 Docker image.
Executable versions of these tutorials are open source, as is this website.
These tutorials focus on just one (the original) protocol supported by RabbitMQ. Examples for RabbitMQ streams on the RabbitMQ blog.
1. "Hello World!"The simplest thing that does something | 2. Work QueuesDistributing tasks among workers (the competing consumers pattern) | 3. Publish/SubscribeSending messages to many consumers at once |
4. RoutingReceiving messages selectively | 5. TopicsReceiving messages based on a pattern (topics) | 6. RPCRequest/reply pattern example |
7. Publisher ConfirmsReliable publishing with publisher confirms |
Getting Help
If you have any questions or comments regarding RabbitMQ, feel free to ask them on RabbitMQ mailing list, RabbitMQ community Discord server, or the public RabbitMQ community Slack.
AMQP 0-9-1 Overview and Quick Reference
Once you have been through the tutorials (or if you want to skip ahead), you may wish to read an Introduction to RabbitMQ Concepts and browse our AMQP 0-9-1 Quick Reference Guide.
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:
- Rust using amqprs
- Rust using Lapin
- Clojure (using Langohr)
- Erlang (using RabbitMQ Erlang client)
- Haskell (using Network.AMQP)
- Perl (using Net::RabbitFoot)
- Perl (using Net::AMQP::RabbitMQ)
- Scala (using RabbitMQ Java client)
We also maintain a list of community-developed clients and developer tools for a range of platforms.