Introduction to Rabbit MQ

RabbitMQ open source enterprise messaging broker training

The Introduction to Rabbit MQ training course provides a deep dive into how to install, configure, and develop applications which leverage RabbitMQ messaging.

RabbitMQ is 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's it necessary to decouple heavy-weight processing from a live user request. 

Course Summary

Learn to use the Rabbit MQ Platform.
This course is for all developers, architects, and technical managers who want to get hands-on experience using the Rabbit MQ Platform.
Skill Level: 
Learning Style: 

Hands-on training is customized, instructor-led training with an in-depth presentation of a technology and its concepts, featuring such topics as Java, OOAD, and Open Source.

Hands On help
3 Days
Productivity Objectives: 
  • Install and configure RabbitMQ
  • Use plugins such as the web management console
  • Implement messaging patterns and applications using Java
  • Set up a cluster of nodes
  • Configure high availability
  • Tune RabbitMQ for better performance

What You'll Learn

In the Introduction to Rabbit MQ training course you’ll learn:

  • RabbitMQ
    • A brief history
    • ERlang
    • Installing RabbitMQ on Unix systems
  • Messaging
    • Consumers/Producers
    • Consumers and producers
    • Queues
    • Exchanges and bindings
    • Virtual hosts and separation
    • Durability
    • Using publisher confirms to verify delivery
  • Running/administering Rabbit
    • Server management
    • Starting and Stopping nodes/application
    • Rabbit configuration files
    • Permissions
    • Managing users
    • Viewing statistics
      • Understanding RabbitMQ’s logs
      • Troubleshooting badrpc,nodedown and other Erlang-induced problems
  • Solving problems with Rabbit
    • The Messaing Story
    • Being asynchronous
    • Cross language APIs
    • Fire-and-forget models
    • Sending alerts
      • Parallel processing
    • Synchronous requests over RabbitMQ
    • Private queues and sending acknowledgements
      • Simple JSON
    • RPC with reply_to
  • Clustering and dealing with failure
    • RabbitMQ clustering
    • Queues in a cluster
      • Distributing exchanges
    • RAM or a disk
    • Setting up a cluster on your laptop
    • Distributing the nodes to more machines
    • Upgrading cluster nodes
    • Mirrored queues and preserving messages
    • Declaring and using mirrored queues
      • Under the hood with mirrored queues
  • Writing code that survives failure
    • Load balancing your Rabbits
    • Installing HAProxy
      • Configuring HAProxy
    • Lost connections and failing clients between servers
  • Warrens and Shovels: failover and replication
    • Warrens: another way of clustering
    • Setting up load balancer–based master/slave clusters
    • Long-distance communication and replication
    • Shoveling your Rabbits: an 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
    • Monitoring the Erlang VM
    • Managing users from the web console
    • Managing exchanges and queues from the web console
    • The CLI
  • Controlling Rabbit with the REST API
  • Supercharging and securing your Rabbit
    • A fast Rabbit
    • Message durability
      • Message acknowledgment
    • Routing algorithm and bindings
      • Delivering messages
    • Memory usage and process limits
    • Memory usage
    • SSL connections

Meet Your Instructor

Michael headshot

Michael is a practicing software developer, course developer, and trainer with DevelopIntelligence. For the majority of his career, Michael has designed and implemented large-scale, enterprise-grade, Java-based applications at major telecommunications and Internet companies, such as Level3 Communications, US West/Qwest/Century Link, Orbitz, and others.

Michael has a passion for learning new technologies, patterns, and paradigms (or, he has a tendency to get bored or disappointed with current ones)....

Meet Michael »
Anil Photo

Anil is a seasoned software engineer with over 16 years of Java development experience.

Anil started his career as a Unix programmer, slinging C-code, writing shell scripts, and teaching others how to use Unix back when Unix was still a toddler. Anil’s expertise in Unix, C, and C++ allowed him to become a member of Technical Staff at ATT / Bell labs. During his tenure at Bell Labs, Anil led the creation of software tools that simulated network traffic, in particular, cellular...

Meet Anil »
Michael Photo

Michael owns and operates Inkling Research, a consulting group of technical specialists. His work experience includes systems administration, application and operating system development, and the design and deployment of several network and storage-based systems. Michael is a seasoned instructor with 18 years experience in training, course development, mentoring, and practice management. His educational credentials include a B.A. from UC Davis, an M.A from Kent State University, and doctoral coursework at Claremont...

Meet Michael »
Marnie picture

Marnie brings 15 years of experience delivering programming related training. During that time she has taught for top-technology companies including: Sun (and later Oracle) certified Java classes, RedHat Certified JBoss administration courses, Spring Source Certified Spring and Hibernate courses. Her classes have run the gamut from introduction to programming classes to Java EE web services and much of the Java EE stack in between.

She has a passion for teaching, which is evident in her presentations and...

Meet Marnie »

Get Customized Quote

Looking for a personalized training solution for your team? We'll work with you to design a custom Introduction to Rabbit MQ training course that meets your specific needs. 100% guaranteed.

Learn More

Chat with one of our Program Managers from our Boulder, Colorado office to discuss various training options.

DevelopIntelligence has been in the technical/software development learning and training industry for nearly 20 years. We’ve provided learning solutions to more than 48,000 engineers, across 220 organizations worldwide.

About Develop Intelligence
Di Clients
Need help finding the right learning solution?   Call us: 877-629-5631