RabbitMQ Training Course (2-3 days) 

Note: this outline is our proposal, but the training can be tailored to your specific requirements upon prior request ahead of the proposed course date.

Why Learn RabbitMQ?

RabbitMQ is the most widely deployed open source message broker.

It is an open-source message-broker software (sometimes called message-oriented middleware) that originally implemented the Advanced Message Queuing Protocol (AMQP) and has since been extended with a plug-in architecture to support Streaming Text Oriented Messaging Protocol (STOMP), MQ Telemetry Transport (MQTT), and other protocols.

The RabbitMQ server program is written in the Erlang programming language and is built on the Open Telecom Platform framework for clustering and failover. Client libraries to interface with the broker are available for all major programming languages.


The training includes examples and hands-on exercises in order to help participants practice and get to grips with RabbitMQ. These code examples cover the basic patterns of creating messaging applications using RabbitMQ.
 

At the end of this training, you will be able to:

  • Install and configure RabbitMQ

  • Activate and use plugins such as the web management console

  • Implement messaging patterns and applications using the Java client

  • Set up a cluster of RabbitMQ nodes

  • Configure high availability appropriately

  • Tune and optimize RabbitMQ for better performance

  • Secure RabbitMQ 

Audience

 

  • Software Developers

 

Requirements

  • Experience in development of Java-applications.

 

Course details

The agenda covers both fundamentals and advanced topics.

The final training outline will be designed depending on your particular requirements.

The practical exercises constitute a big part of the course time, besides demonstrations and theoretical presentations. Discussions and questions can be asked throughout the course.

 

Course Outline

 

INTRODUCTION TO MESSAGING AND AMQP

  • Benefts of messaging and asynchronous systems

  • Why JMS isn't enough

  • Introduction to AMQP

  • RabbitMQ case studies

 

RABBITMQ INSTALLATION

  • Product description and main capabilities

  • Installation, directory structure, and configuration

  • Durability with the Mnesia database

  • Basic administration

  • Web management console

  • Multitenancy with virtual hosts

  • Logging with the firehose trace

 

DEVELOPMENT AND INTEGRATION

  • Clients (Java, C#, Python, Ruby, etc.)

  • Focus on the Java client

  • Publishing and consuming messages

  • Managing AMQP resources

  • AMQP routing with exchanges and queues

  • Higher level abstractions (Spring AMQP & Integration, Pika)

  • Messaging patterns

 

RELIABLE MESSAGING DEVELOPMENT

  • Durable queues and exchanges

  • Persistent messages

  • AMQP and JMS transactions

  • AMQP acknowledgments

  • Dead lettering

  • Multiple transactional resources

 

CLUSTERING

  • Scalable messaging architecture through clustering

  • Creating a cluster

  • Disk vs. RAM nodes

  • Administration of a cluster

  • Network partitions

HIGH AVAILABILITY

  • Cluster node failures and consequences

  • Mirrored queues

  • Slave synchronization

  • Client failover handling

 

PLUGINS

  • RabbitMQ plugins introduction

  • LDAP authentication

  • Shovel

  • Federation

  • Shovel vs federation

  • STOMP

 

PERFORMANCE

  • Impacts of configuration and client code options on performance

  • Flow control

  • Best practices

 

SECURITY

  • Virtual hosts, users, and access control

  • Authentication

  • Secured communicatio

 

OPERATIONS AND MONITORING

  • Disk, firewall, heartbeat tuning

  • Monitoring

  • Management API

  • Support for third-party monitoring tools

 

SPRING AMQP (OPTIONAL)

  • Introduction to Spring

  • Spring AMQP overview

  • Spring's AMQP template

  • Configuring AMQP Resources using Spring

  • Sending and receiving messages

 europe@training-united.com

 +49 30 2218 0753

©TRAINING UNITED