Solving Asynchronous Architecture with RabbitMQ in One Go

Learn how to utilize RabbitMQ to implement asynchronous architecture—the most fundamental method for processing large-scale data—through a tutorial format designed for easy understanding from basics to advanced applications based on Spring Boot 3.3. Learning materials (Notion links and Git Branch URLs) are provided for each lecture chapter. Please be sure to check the class notes.

(4.7) 47 reviews

570 learners

Level Basic

Course period Unlimited

Spring Boot
Spring Boot
JPA
JPA
websocket
websocket
rabbitmq
rabbitmq
Spring Boot
Spring Boot
JPA
JPA
websocket
websocket
rabbitmq
rabbitmq

Reviews from Early Learners

4.7

5.0

도등어

100% enrolled

It was great to be able to quickly learn the core concepts of RabbitMQ. I had a lot of concerns after seeing other reviews mentioning that the conceptual explanations were lacking, but if you have sufficient knowledge of Spring and properly listened to the earlier concepts, you could fully understand the class. The lecture became more satisfying as it progressed toward the later parts, and personally, I found it easy to understand because you provided hands-on practice after explaining the concepts. However, when unfamiliar concepts came up, there were moments where I initially thought "huh?" but after looking at the code, I realized "ah, this is what they were talking about." One slightly disappointing aspect was the Notion content provided as PDF - while it wasn't crucial content, there were parts of the code that got cut off when opening the PDF. I enjoyed the lecture and hope you'll create courses on other technology stacks in the future. Thank you.

5.0

이경섭

100% enrolled

The lecture is not long, but it seems to contain only the most important content in an easy-to-understand way. The brief summary of how each tutorial step will proceed and what the important content is at the beginning of each step was very helpful in learning the subsequent code practice. Also, the examples covered were not difficult, so I was able to learn without much difficulty. Thank you for the good lecture.

5.0

Novel

100% enrolled

It was a lecture that allowed me to quickly review an overview of the technology. It was nice that you introduced things that would be good to learn about in the future. Advantages 1. The lecture style is clean. 2. The lecture length is appropriate. 3. The lecture materials are uploaded to Github.

What you will gain after the course

  • Understanding Asynchronous Architecture and Distributed Processing Asked in Technical Interviews

  • Understanding AMQP Features and RabbitMQ

  • Step-by-step learning of Spring Boot-based RabbitMQ examples

  • Handling Transactions for DB Integration and Message Queues

  • Understanding Exchange and Routing Models

  • Implementing a Real-Time Notification System Using Pub/Sub

  • Collecting Logs Using a Routing Model

  • Reprocessing strategies using Dead Letter Queue and Retry

Solving Asynchronous Architecture with RabbitMQ in One Go

Understand the asynchronous architecture using RabbitMQ, which is the most fundamental element for handling high-volume traffic.

  • Basic examples and conceptual explanations to understand everything from the most fundamental message transmission to advanced applications like transaction processing in one go.


  • As long as you have a basic understanding of Java and Spring, you will have no trouble following along with the coding.


  • You can easily understand through step-by-step tutorial learning, moving from the basics to advanced applications.


#RabbitMQ #AsynchronousArchitecture #SpringBoot #JPA #MSA

What you will learn

AMQP Architecture Concepts

You will learn about AMQP and RabbitMQ, message exchange protocols designed to handle traffic between different systems as efficiently as possible.

AMQP Concepts

Following Examples by Routing Model and Exchange Type

You will learn through step-by-step exercises how to use Routing Model components and different Exchange types—which can often be confusing—ranging from beginner to intermediate and advanced applications.

Learn about the characteristics and usage methods of FanoutExchange, TopicExchange, DirectExchange, and HeaderExchange.

Implementing Real-time Notifications using WebSocket and STOMP

We will implement a real-time notification system using WebSocket on a simple web page. Through the code, we will understand the errors that may occur during development and their corresponding solutions, while gaining an understanding of communication concepts.

#WebSocket #STOMP

WebSocket Pub/Sub process

You can understand how asynchronous architecture is utilized to handle Dead Letters in order to transition to MSA.

#JPA #MSA #DLQ

You can examine transaction processing methods and apply data reconciliation and compensation through TCC.

Notes before taking the course

Practice Environment

  • Although the practice is conducted on Mac, it is also possible in Windows/Linux environments because RabbitMQ is easy to install.

  • Tools used: Spring Boot 3.3 / Latest version of RabbitMQ (4.0.3), IntelliJ

  • Notion links are provided for each lecture chapter. Please be sure to check the class notes.

Learning Materials

  • Notion links for class materials are provided in the lesson notes for each lecture. PDF attachments are also provided, but since code may be cut off, please use the class materials via the links.

  • Examples for each step are provided as separate branches for each chapter on GitHub.

  • A PDF is attached along with the lecture material links for each chapter.

  • If you need any additional examples, please request them on the learning board.

Prerequisites and Notices

  • Understanding of Java syntax

  • A basic level of understanding of Spring Boot; even if you don't know Spring, you can learn by following the code.

  • Those who want to learn the fundamental knowledge for handling large-scale data or traffic

  • This course is designed to progress step-by-step through hands-on examples. I provide detailed explanations at the code level so that even beginners can easily understand, so I highly recommend that you actually write the code yourself.

Recommended for
these people

Who is this course right for?

  • Those who want to grasp the basic concepts of asynchronous architecture for employment or career changes.

  • Those who want to learn the basic architecture for high-capacity processing

  • Those who are looking to build an asynchronous system for load balancing

  • Those who wish to study architecture after acquiring basic knowledge of Java/Spring

  • Those who wish to apply asynchronous architecture to real-world services

Need to know before starting?

  • Java

  • Spring

Hello
This is codevillain

Career Verified

3,523

Learners

159

Reviews

41

Answers

4.9

Rating

6

Courses

Backend Developer with 20 years of experience


  • Kakao (2018 ~ 2026, Former Leader)

  • LF (LG Fashion, 2017, Deputy General Manager of IT Platform Team)

  • Coupang (2013~2017, Sr. Software Engineer)

  • Silver Award at the Open Source Developer Competition (2012. Ministry of Knowledge Economy, NIPA)

Main Fields
I have worked for a long time in Java, Spring, and MSA environments. Based on my experience in large-scale data processing, microservice architecture design, complex domain entity design, and team leadership, combined with over 10 years of experience as an interviewer, I would like to help you prepare for interviews and establish a career roadmap.


Lecturing Experience

  • 2026.06 DK Techin Claude Code Lecture

  • 2025.05 Pusan National University AI Utilization Lecture

  • 2024.11 Daegu University Gyeongsan Innovation Academy Career Special Lecture

  • 2024.10 Hanbit Media 2nd Job Seminar Special Lecture for Junior Developers

  • 2024.09 Pusan National University SW Convergence Education Center Career Special Lecture

  • 2024.04 Hanbit Media Career Seminar Special Lecture for Junior Developers

     

Books (Claude Code Master, Developer Technical Interview Notes, Hanbit Media)

More

Curriculum

All

22 lectures ∙ (5hr 4min)

Course Materials:

Lecture resources
Published: 
Last updated: 

Reviews

All

47 reviews

4.7

47 reviews

  • shrse님의 프로필 이미지
    shrse

    Reviews 13

    Average Rating 5.0

    5

    100% enrolled

    I have successfully completed the RabbitMQ course.

    • codevillain
      Instructor

      Thank you for leaving a review, slow.

  • jackt05066257님의 프로필 이미지
    jackt05066257

    Reviews 28

    Average Rating 5.0

    5

    100% enrolled

    It was great to learn more about rabbitmq

    • smathj9975님의 프로필 이미지
      smathj9975

      Reviews 61

      Average Rating 5.0

      5

      100% enrolled

      I enjoyed the lecture very much. I kept saying I should watch it before the end of the year 😆😆. RabbitMQ is also an excellent technology, not just Kafka. It seems like it can be used in most projects. Thank you for creating such a great lecture.

      • codevillain
        Instructor

        Thank you for leaving a review. I hope you'll definitely try implementing this in your actual work.

    • read15162200님의 프로필 이미지
      read15162200

      Reviews 3

      Average Rating 5.0

      5

      32% enrolled

      I like it!

      • sun8282829494님의 프로필 이미지
        sun8282829494

        Reviews 13

        Average Rating 4.8

        3

        36% enrolled

        I'll write this course review based on my honest experience. The overall content seems to focus heavily on practice rather than solidly covering RabbitMQ concepts, and I feel there's insufficient explanation of the terms and concepts used throughout. It would have been better if you had explained using visual materials to show the concepts. With just text saying "this means this and this is that" and a brief verbal explanation before moving on, it inevitably feels lacking. Your speech wasn't smooth either, and personally I felt the IntelliJ theme you used had poor readability. Overall, this was a lecture with very poor delivery. Although I've only completed about 35 percent so far, looking at the curriculum, I don't think the latter half will be better than the beginning. When doing practicals, it would be good to first establish concepts clearly then use practice for reinforcement, but it proceeded as if assuming basic RabbitMQ concepts were already known, so I wouldn't recommend this lecture to those encountering RabbitMQ for the first time.

        • codevillain
          Instructor

          Hello, 하승수. Thank you for attending this humble lecture. First, the terminology from 4. Understanding AMQP and 5. Understanding Key Terms and Exchange represents most of RabbitMQ's core concepts. If you understand only these terms, the rest will not be a problem for proceeding with the lecture, and with about 15 minutes of theoretical knowledge, you can resolve the rest through practical exercises. Regarding the concept of this lecture, I introduced it in detail in the free introduction section (1. Lecture Concept and Table of Contents Explanation). This lecture is a step-by-step, follow-along tutorial concept from Step 1 to Step 14. Therefore, if you understand Java and Spring to some extent, and understand the terminology, this lecture is designed so that you can follow along with the practical code and move on while understanding more difficult concepts step by step. Each lecture first individually explains the topics to be developed and the concepts to be understood at the beginning, and then explains the concepts by directly implementing the codes together to understand them. It is not in the form of bringing in already written code and reviewing it, but proceeds in a way that a lecture is completed as code is actually written. Therefore, if you take the entire lecture, with just the content of this lecture, you will be sufficiently able to make judgments regarding the adoption of RabbitMQ and apply asynchronous architectures in practice. 인텔리제이 is an essential development tool for Java developers, and the skin on the screen is the basic default skin. Personally, I use the Dacula (Dark) theme, but the reason for using the default theme is that there was feedback that viewing the dark theme in videos caused eye strain and pain, so it was created with 인텔리제이's default theme. Please note. Thank you for your valuable feedback.

      codevillain's other courses

      Check out other courses by the instructor!

      Similar courses

      Explore other courses in the same field!