Course: Learn RabbitMQ: Asynchronous Messaging with Java and Spring

Learn RabbitMQ: Asynchronous Messaging with Java and Spring

  • Life Time Access
  • Certificate on Completion
  • Access on Android and iOS App
  • Self-Paced
About this Course

- "RabbitMQ is the most widely deployed open source message broker." - Pivotal Software, 2018

Join me in this course to learn ins and outs of RabbitMQ!

If you want to learn RabbitMQ and how to develop with it using Java and Spring AMQP, this is the only course you need! 

From Exchanges to Queues, Bindings to Message Listeners, we'll start by learning the pillars, corner stones of RabbitMQ and build on top of them with practical development for all these concepts using Java and Spring! 

I will walk you through the starting from scratch, the messaging itself! We'll discover what messaging means and how it affects our architectural decisions and design considerations. Next up is the AMQP, Advanced Message Queueing Protocol. We'll discover the benefits and reasons behind the popularity of AMQP and how it shaped the architecture of RabbitMQ from messaging concepts to client platforms making use of it. 

While discovering the advantages of AMQP, we'll then start discovering RabbitMQ and its architecture. We'll learn Queues, Exchanges, Bindings, Routings, Publishers, Subscribers and much more about RabbitMQ!

After meeting with RabbitMQ through the concepts that it puts on the table, we'll start preparing our environment for running RabbitMQ and developing applications using it. We'll install all the necessary software for RabbitMQ and have it up and running on our machines both on Windows and MacOS. 

When we finish preparing our environment for RabbitMQ, we'll start discovering by RabbitMQ Management Dashboard. We'll see and learn how RabbitMQ Dashboard helps us easily monitor and manage our RabbitMQ server. We will then send our first ever message to RabbitMQ!

After sending our message, we'll learn how to create Queues, Exchanges and Bindings between them.

Now it's time to start developing for RabbitMQ! We'll learn everything we need to develop software using RabbitMQ starting with RabbitTemplate. RabbitTemplate helps us publish messages to RabbitMQ really easy and we'll learn to use it by examples. From simple text messages to actual objects, we'll learn to send any kind of messages. 

We'll then deepen our knowledge by developing actual Queues, Exchanges and Binding with Java and Spring! We'll learn how to construct Queues, Exchanges, Bindings with Spring AMQP using both Annotations and Builder methods. We're not going to finish it there and we'll develop a message listener for specific queue that we also created programmatically.

We'll both publish and listen to messages so we'll developing a complete application from scratch just like we should in our professional applications! 

Until this point, you'll practically gain all the knowledge you need to develop applications with RabbitMQ. But we'll not stop there and also think of an asynchronous messaging pipeline scenario where we send messages from one application and receive from another one. If you're beginning to work with RabbitMQ or if you need to realize an asynchronous scenario for your next design, this part is especially valuable to you and you should definitely learn how to do this!

Below are some of the key metrics for RabbitMQ; if you're still hesitant to take this course, please read these carefully:

  • RabbitMQ is the most widely deployed open source message broker or messaging middleware in other terms.
  • With more than 35,000 production deployments of RabbitMQ world-wide at small startups and large enterprises, RabbitMQ is the most popular open source message broker.
  • RabbitMQ is lightweight and easy to deploy on premises and in the cloud. It supports multiple messaging protocols. RabbitMQ can be deployed in distributed and federated configurations to meet high-scale, high-availability requirements.
  • RabbitMQ runs on many operating systems and cloud environments, and provides a wide range of developer tools for most popular languages.

I hope I'll be seeing you in the course to teach you everything you need to develop applications with RabbitMQ!

Basic knowledge
  • Working knowledge of Java, Spring preferred
  • Any Java IDE (Intellij preferred)
What you will learn
  • Learn to build applications with RabbitMQ using Java and Spring!
  • Learn and Implement Topics, Queues, Exchanges and Bindings in RabbitMQ
  • Learn how to develop message listeners for specific queues and routings
  • Learn to design asynchronous, message-driven systems with RabbitMQ!
  • Learn and understand Message-Queueing
  • Learn and understand Advanced Message-Queueing Protocol or AMQP
  • Learn and understand how Advanced Message-Queueing Protocol works
  • Learn and understand the architecture of RabbitMQ
Number of Lectures: 35
Total Duration: 02:38:16
  • Welcome!  
  • About This Course  
Getting Started with RabbitMQ
  • Section Overview  
  • Installing RabbitMQ and Management Plugin on Windows  
  • Installing RabbitMQ and Management Plugin on MacOS  
  • First Look with RabbitMQ Admin  
  • Creating Queue, Exchange and Binding and Publishing Message  
Messaging, AMQP and RabbitMQ
  • 3-Section Overview  
  • What is Messaging and Why We Need It?  
  • Messaging Protocols Overview  
  • What is AMQP and What It Solves?  
  • Know Your MQ!  

    Let's sharpen up the knowledge on RabbitMQ!

  • Meet RabbitMQ  
  • 4 Actors of Messaging with RabbitMQ  
  • Exchanges  
  • Know the Exchange Types!  

    Let's sharpen our knowledge on exchange types

  • Queues  
  • Topics  
  • Bindings  
  • RabbitMQ vs. other MQs: A Comparison  
Application Development Basics with RabbitMQ
  • 4-Section Overview  
  • Publishing Messages with RabbitTemplate  
  • Publishing Binary Messages with RabbitTemplate  
  • Configuring a Listener for Messages  
  • Testing Out the Listener  
  • 4-Code Resources  

    You can find source codes related to this section!

Configuring Queues and Exchanges with RabbitMQ
  • 5-Section Overview  
  • Queue Configuration with Spring AMQP  
  • Direct Exchange Configuration with Spring AMQP  
  • Topic Exchange Configuration with Spring AMQP  
  • Fanout Exchange Configuration with Spring AMQP  
  • Headers Exchange Configuration with Spring AMQP  
  • Creating Bindings Between Queues and Exchanges  
  • Receiving and Processing Messages from Different Apps  
  • Code Resources  

    You can find the source code related to this section

  • What Have We Learned?  
  • Thank You!  
Reviews (0)