Featured resource
2026 Tech Forecast
2026 Tech Forecast

1,500+ tech insiders, business leaders, and Pluralsight Authors share their predictions on what’s shifting fastest and how to stay ahead.

Download the forecast

Working With RabbitMQ

Course Summary

The Working with RabbitMQ training course teaches participants the RabbitMQ as a message queue for processing tasks asynchronously. It can be very useful in tasks like file transcoding, delivering notifications, and asynchronous or delayed calculations. Message queue systems are especially useful in systems where it's necessary to decouple heavy-weight processing from a live user request.

This course begins by exploring the history and benefits of RabbitMQ. Next, the course dives into messaging concepts and patterns, administration, and clustering using hands-on labs to reinforce learning. The course concludes with participants starting to write code that survives failure, load balancing, exploring use-cases on the Web, and optimizing RabbitMQ.

Purpose
Learn a solid introduction to RabbitMQ including: web applications, administration and optimization
Audience
Developers and teams looking to learn RabbitMQ
Role
Software Developer | System Administrator
Skill Level
Intermediate
Style
Lecture | Hands-on Activities | Labs
Duration
2 Days
Related Technologies
RabbitMQ

 

Learning Objectives
  • Install and configure RabbitMQ
  • Apply plugins such as the web management console
  • Implement messaging patterns and applications using Java
  • Scale high throughput applications with RabbitMQ clustering and HAProxy
  • Identify best practices for RabbitMQ to ensure reliability and stable message delivery

What You'll Learn:

In the Working With RabbitMQ training course, you'll learn:

RabbitMQ

  • A brief introduction to Erlang and RabbitMQ
  • Installing RabbitMQ on Unix systems

Messaging Concepts and Patterns

  • AMQP
  • Consumers and producers
  • Queues
  • Exchanges and bindings
  • Virtual hosts and separation
  • Durability
  • Acknowledging messages in consumers
  • Using publisher confirms to verify delivery

RabbitMQ Administration

  • Brief look at RabbitMQ configuration: Users & Permissions
  • Viewing statistics

Utilizing RabbitMQ in Applications

  • Designing code to be asynchronous
  • Messaging patterns in applications
  • Java API overview
  • Fire-and-forget models
  • Sending alerts

Parallel Processing

  • Building data processing pipelines
  • Message delivery issues and idempotency

Clustering RabbitMQ for Reliability

  • RabbitMQ clustering
  • Queues in a cluster

Distributing Exchanges

  • In memory vs. persistent storage
  • Setting up a cluster on a single machine
  • Distributing the nodes to more machines
  • Upgrading nodes in a cluster
  • Highly available (mirrored) queues

Writing Code that Survives Failure

  • Load balancing RabbitMQ instances
  • Example load balancing with HAProxy
  • Handling lost connections/retries effectively

Scaling Out Further - Federation and Shoveling

  • Why clustering isn't always sufficient
  • Hierarchical message distribution
  • Communication between locations with federated exchanges
  • Introduction to the Shovel plugin
  • Installing Shovel

Configuring and Running Shovel

Administering RabbitMQ from the Web

  • RabbitMQ Management plugin
  • Managing RabbitMQ from the web console
  • Managing users from the web console
  • Managing exchanges and queues from the web console

Optimizing RabbitMQ

  • Speeding up Rabbit
  • Durability vs. Throughput
  • Memory usage and process limits
“I appreciated the instructor's technique of writing live code examples rather than using fixed slide decks to present the material.”

VMware

Dive in and learn more

When transforming your workforce, it's important to have expert advice and tailored solutions. We can help. Tell us your unique needs and we'll explore ways to address them.

Let's chat

By clicking submit, you agree to our Privacy Policy and Terms of Use, and consent to receive marketing emails from Pluralsight.