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, cornerstones 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!
- Working knowledge of Java, Spring preferred
- Any Java IDE (Intellij preferred)