Course Overview:
RabbitMQ is a comprehensive, practical, and hands-on training program designed to help developers and IT professionals build a strong understanding of message brokers, message queuing, and asynchronous communication. The course combines essential concepts with extensive demonstrations, with approximately 50% of the training focused on practical, hands-on activities. Participants will learn how RabbitMQ implements the AMQP protocol, how messages flow between publishers and consumers, and how exchanges, queues, and different messaging patterns work in real-world applications.
The course progresses from RabbitMQ fundamentals and installation to management, configuration, clustering, resource sharing, asynchronous and blocking communication, and advanced messaging patterns using Fanout, Direct, and Topic exchanges. Participants will also gain practical experience with RabbitMQ Management Console, environment variables, configuration files, federation, shovels, high availability, queue mirroring, and failover mechanisms. Through demonstrations and practical exercises, participants will develop the skills needed to configure, manage, troubleshoot, and integrate RabbitMQ into reliable and scalable distributed applications.
By the end of the course, participants will have practical knowledge of RabbitMQ and be better prepared to work with message-driven architectures and enterprise messaging environments.
Course Objectives:
- Understand about the need of messaging and message brokers
- Know about RabbitMQ and it different types of exchanges.
- Know about AMQP protocol and message flow in RabbitMQ
- Learn about RabbitMQ setup in linux and windows machines.
- Learn to control RabbitMQ behaviour using Environment variables and RabbitMQ config file
- Learn to setup RabbitMQ management console and manage RabbitMQ resources using the console
- Understand and setup RabbitMQ clustering and resource sharing
- Learn synchronous and asynchronous communication with RabbitMQ
- Learn differtent messaging patterns in RabbitMQ
- Understand and setup shovels in rabbitMQ
- Understand and setup Federations in rabbitMQ
- Understand and setup High Availability in RabbitMQ with failover mechanism
- Learn to automate RabbitMQ management operations
Pre-requisites:
- Basic knowledge about software industry
- Basic programming knowledge on any programming language
- Basic understanding of message-oriented architecture
Target Audience:
- Basic knowledge about software industry
- Basic programming knowledge on any programming language
- Basic understanding of message-oriented architecture
Course Duration:
- 21 hours – 3 days
Course Content:
Module 1
- Introduction & Basic Concepts
- Message Queueing
- Message Broker
Module 2
- Understanding RabbitMQ
- AMQP implementation in RabbitMQ
- Message flow in RabbitMQ
- Exchanges and its types
Module 3
- RabbitMQ Setup and RabbitMQ Management Console
- RabbitMQ installation
- RabbitMQ Management Console Setup
- Managing Users and vhosts via RabbitMQ console
- Overview of RabbbitMQ Management Console
- RabbitMQ Environment Variable
- RabbitMQ config File
Module 4
- RabbitMQ Clustering
- Introduction to PyCharm
- Introduction to Publisher and Consumer Application
- Introduction to RabbitMQ Clustering
- Disc Node and RAM node
- Demo on RabbitMQ Clusters
- Demo on Resource Sharing and Transparent Queues in Cluster
Module 5
- RabbitMQ Asynchronous Communication & Message Patterns
- Demo on Asynchronous communication between Publisher & RabbitMQ
- Demo on Asynchronous communication between consumer & RabbitMQ
- Demo on Blocking Communication with RabbitMQ
- Demo on Publishing with Fanout Exchange
- Demo on Publishing with Direct Exchange
- Demo on Publishing with Topic Exchange
Module 6
- Shovel and Federation in RabbitMQ
- Introduction to Federation in RabbitMQ
- Federated exchanges with Demo
- Federated Queues with Demo
- RabbitMQ shovel with Demo
Module 7
- High Availability & Fail-over in RabbitMQ
- Introduction HA and Failover
- Master Queue and Mirror Queue in RabbitMQ
- Queue Failover in RabbitMQ with Demo

