whatisgithub

What is rabbitmq-tutorials?

rabbitmq/rabbitmq-tutorials — explained in plain English

Analysis updated 2026-06-24

6,888JavaAudience · developerComplexity · 3/5LicenseSetup · moderate

In one sentence

Runnable code examples for the official RabbitMQ tutorials, covering how to send, route, and distribute messages between services, available in more than 20 programming languages in one repository.

Mindmap

mindmap
  root((rabbitmq-tutorials))
    What it does
      Runnable code examples
      Messaging patterns
      20-plus languages
    Patterns Covered
      Simple send receive
      Work queue
      Publish subscribe
      Topic routing
    Languages
      Python Java Go
      JavaScript Ruby
      C# Rust Elixir
    Setup
      RabbitMQ server needed
      Docker recommended
    Audience
      Backend developers
      DevOps engineers
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Follow the official RabbitMQ tutorial series and run the matching code examples locally in your preferred language.

USE CASE 2

Learn how to distribute tasks across multiple worker processes using a work queue pattern in Python or Go.

USE CASE 3

Implement a publish-subscribe broadcast so one message is sent to many different consumers at once.

USE CASE 4

Route messages to specific destinations using topic or direct exchange patterns in any of the 20-plus supported languages.

What is it built with?

JavaPythonGoJavaScriptRubyPHPC#Rust

How does it compare?

rabbitmq/rabbitmq-tutorialssmuyyh/bookreadergetactivity/androidproject
Stars6,8886,8926,880
LanguageJavaJavaJava
Setup difficultymoderatemoderatemoderate
Complexity3/53/53/5
Audiencedeveloperdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Requires a running RabbitMQ server, the easiest option is the official Docker image with default settings.

Apache License 2.0, use freely for any purpose including commercial, keep the license notice.

So what is it?

This repository contains the runnable code examples that accompany the official RabbitMQ tutorials. RabbitMQ is a message broker, which is a piece of software that sits between different parts of an application (or between separate applications) and handles the passing of messages from one part to another. It is commonly used to let different services communicate without being directly connected, which helps with things like background job processing, distributing work across multiple workers, or publishing events that multiple consumers can receive. The tutorials themselves are hosted on the RabbitMQ website and walk through progressively more complex messaging patterns: sending a simple message, distributing tasks across worker processes, broadcasting to multiple receivers, routing messages to specific destinations, and more. This repository holds only the actual code so developers can run the examples locally while following along with the written guides. All examples require a RabbitMQ server running locally with default settings. Installation options for that server are covered in RabbitMQ's own documentation and include a Windows installer, a Docker image, Homebrew on macOS, and packages for Linux distributions. The same tutorial patterns are implemented in more than 20 programming languages, all included in this single repository. Languages covered include Python, Java, Go, Ruby, JavaScript with Node.js, PHP, Rust, Elixir, Kotlin, Scala, Haskell, Clojure, Erlang, Dart, Perl, Swift, C#, and Spring AMQP, among others. Each language has its own subdirectory with self-contained code. The project is maintained by the RabbitMQ team and released under the Apache License 2.0.

Copy-paste prompts

Prompt 1
I am following the RabbitMQ tutorials and want to run the Python work queue example locally. Walk me through installing RabbitMQ with Docker and running the sender and receiver scripts.
Prompt 2
Show me how the RabbitMQ publish-subscribe example works in Go and explain what the fanout exchange does and why each subscriber gets its own queue.
Prompt 3
I want to add a dead-letter queue to the RabbitMQ direct routing example in Java. Show me how messages that fail processing get redirected to a separate queue.
Prompt 4
Help me adapt the RabbitMQ topic exchange example in JavaScript to route log messages by severity and source, so error logs go to one service and info logs go to another.
Prompt 5
Explain the difference between the RabbitMQ work queue pattern and the publish-subscribe pattern and show me the key code difference in Python.

Frequently asked questions

What is rabbitmq-tutorials?

Runnable code examples for the official RabbitMQ tutorials, covering how to send, route, and distribute messages between services, available in more than 20 programming languages in one repository.

What language is rabbitmq-tutorials written in?

Mainly Java. The stack also includes Java, Python, Go.

What license does rabbitmq-tutorials use?

Apache License 2.0, use freely for any purpose including commercial, keep the license notice.

How hard is rabbitmq-tutorials to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is rabbitmq-tutorials for?

Mainly developer.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.