RabbitMQ for Developers
Description
This training will introduce participants to RabbitMQ, the most widely deployed open source message broker. We’ll start from crash course in JMS, then we’ll discuss AMQP and the message flow model in RabbitMQ - broker configuration options. We’ll use RabbitMQ Java client to consider RabbitMQ messaging options. These overviews include theoretical materials as well as graphical representations.
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.
To consolidate the acquired knowledge, the course includes 4 laboratory works.
is issued on the Luxoft Training form
Objectives
- What is RabbitMQ message flow and RabbitMQ Java client API
- Cover the basic patterns of creating messaging applications using RabbitMQ Java client
Target Audience
- Software Developers
Prerequisites
- Experience in development of Java-applications.
Roadmap
JMS API
- JMS overview
- Point-to-Point messaging
- Publisher Subscriber messaging
- JMS 1.2 vs. JMS 2.0
What is RabbitMQ
- Introduction
- Advanced Message Queuing Protocol (AMQP)
RabbitMQ JMS Client
Message flow in RabbitMQ
- Exchanges and exchange types
- Direct exchange
- Topic exchange
- Fanout exchange
- Headers exchange
- Queues
- Bindings
- Virtual host
Message attributes and payload
Server configuration
- Configuration file
- Persistence configuration
- Clustering
- Mirrored queues
RabbitMQ Java client API
- Overview
- Publish messages
- Receive messages by subscription
- Retrieve individual messages
- Shutdown protocol
- Advanced connection options
- Automatic recovery from network failures
“Hello world” code example
Competing consumer pattern (work queues) + code example
Publish/Subscribe pattern + code example
Receiving messages selectively (routing) + code example
Receiving messages based on a pattern (topics) + code example
Request/reply ("RPC") pattern + code example
RabbitMQ Management interface