강의

멘토링

커뮤니티

BEST
Programming

/

Web Development

Distributed Transaction Patterns from an MSA Perspective, Explained by a Kakao Interviewer

Learn SAGA transaction management techniques for maintaining data consistency in distributed environments through hands-on practice. Build 3 microservices using Spring Boot and Docker, and implement both Orchestration and Choreography patterns with Kafka and MySQL. Through this course, you can master core concepts that are immediately applicable in real-world scenarios, including distributed transaction operation principles, compensating transaction design, and failure recovery handling.

(4.9) 20 reviews

497 learners

Level Basic

Course period Unlimited

  • Hong
Java
Java
Spring
Spring
MySQL
MySQL
Spring Boot
Spring Boot
MSA
MSA
Java
Java
Spring
Spring
MySQL
MySQL
Spring Boot
Spring Boot
MSA
MSA

Reviews from Early Learners

Reviews from Early Learners

4.9

5.0

파이리이2

100% enrolled

It was a great opportunity to study distributed transactions!

5.0

keny

92% enrolled

I personally think this might be one of the most beneficial lectures on Inflearn. The content was so substantial that I was able to learn a lot from it. Thank you.

5.0

개발에 미친자

92% enrolled

I really enjoyed the course. I especially loved how you showed numerous diagrams at the beginning while explaining the overall architecture and its details. Any knowledge gaps or concepts that needed organizing could be checked through the separate course summary files. The Inflearn scripts were also helpful when needed. Also, the review process where you explained everything step by step again, along with the realistic stories and practical workplace perspectives, was extremely beneficial. I really enjoyed it. Thank you.

What you will gain after the course

  • Revealing the Secrets of Fault-Tolerant Distributed Transaction Design

  • Orchestration & Choreography Patterns: When and How to Use Them in Practice?

  • Real-time Event-driven SAGA Transactions with Kafka

  • Building a Stable Compensating Transaction Architecture with Spring Boot

  • Hands-on Microservices Transaction Practice: Building Directly with Docker

How should we manage ACID in an MSA environment??🤔

  • The content below is from an actual conversation.

😁 Kakao Interviewer (Developer) : XX (Hong), it would be good to study distributed transactions. Do you know about it??

😄 Hong : You mean concepts like local transactions or guaranteed transactions, right??

😁 Kakao Interviewer (Developer) : Yeah, I'm talking about the SAGA pattern. I always ask this kind of question when I'm interviewing, but many people don't know about it, so I thought of you and asked

😄 Hong : I've heard of it, but I haven't implemented it at the core level. I haven't gone as deep as the Database per Service perspective, so I only know the concept

😁 Kakao Interviewer (Developer) : Then I'll organize the content on this topic and let you know. Let's work on it together while covering related lectures.

😄 Hong : Hahahaha nice, then it'll be sweet for me too if I apply to Kakao later lol Let's give it a try.

How do you handle ACID in an MSA environment?? 🤔

If you implement the Database per Service approach in relationships between numerous service applications, how do you manage the state of operations and guarantee transactions accordingly in this situation??

The answer lies in the SAGA pattern. To perform and process a single task, you need to communicate with numerous services, and countless transactions will occur in that process. From the perspective where each service has its own database, each task performs a local transaction and executes compensating transactions for failure situations through a pattern that allows a single task to be completed. I hope you gain insights on how to implement such distributed transaction functionality by watching this course.🚀

Key Features of This Course

📌 A course structured based on the know-how and interview questions from an actual Kakao interviewer (developer)

  • This course is structured based on actual interview questions asked by a Kakao interviewer (developer). Rather than simply providing fixed answers to interview questions, it is designed to help you respond to all questions about the SAGA pattern.

📌 Course structured with numerous diagrams, lecture summaries, and source code

  • This is not just a lecture that explains things with words alone, but one that enhances learning efficiency by providing actual source code, diagrams, sequence diagrams, and additionally simple summary files of the lecture content.


📌 The shortcut from junior to senior..! Managing distributed transactions from an MSA perspective

  • Through this course, you can clearly learn what problems exist in an MSA environment, how to solve them accordingly, and what advantages and disadvantages there are.


We recommend this course for 👨‍🏫

🎯 Non-CS major developers who want to challenge themselves with high-traffic system design

🎯 Those who have heard about MSA and SAGA but didn't know the specific design methods

🎯 Backend developers at startups/large companies who are concerned about traffic scalability and fault resilience

🎯 Developers who want to go beyond simple microservices and design complex distributed transactions

Related resources 🚀

People who create courses together 🤭

⚠️ Don't miss this opportunity to get insights from skilled developers and interviewers!

Notes

Practice Environment

  • MySQL

    • It is configured using Docker.

  • Spring, Spring Boot

    • We will use version 3.x (3.2)

  • Java

    • Java(TM) SE Runtime Environment (build 17.0.12+8-LTS-286)

  • docker, docker-compose

    • Docker version 28.0.0, build f9ced58158

    • Docker Compose version 2.33.1

  • IDE

    • IntelliJ IDEA

  • OS

    • Apple M3 Air

Recommended for
these people

Who is this course right for?

  • A server developer struggling with data consistency issues between microservices

  • Backend engineers who want to learn distributed transaction design through practical code

  • Developers who want to upgrade their Kafka-based architecture to the next level

  • Learners who want to master practical SAGA patterns with Spring Boot

  • Technical leaders and architects who want to design stable large-scale systems

Hello
This is

5,963

Learners

391

Reviews

127

Answers

4.7

Rating

22

Courses

Introduction

I started studying development after finding it interesting while lounging around at home, and I am currently working as a platform server developer in Pangyo. I am continuing my activities as a knowledge sharer because I want to provide you with the methods I used to study, as well as the various problems and solutions you may encounter in the field.

These lectures are not created through my knowledge alone. Every lecture is made possible by those who work alongside me.

Instructor Experience

[Former] Blockchain developer for Sandbox IP

[Former] Metaverse Backend Developer

[Current] Veteran server developer based in Pangyo

Interview History

Other inquiries

  • unduck2022@gmail.com

Curriculum

All

24 lectures ∙ (5hr 2min)

Course Materials:

Lecture resources
Published: 
Last updated: 

Reviews

All

20 reviews

4.9

20 reviews

  • cchoii님의 프로필 이미지
    cchoii

    Reviews 11

    Average Rating 5.0

    5

    38% enrolled

    I'm helping create this course and work as a server developer at Kakao. Actually, I wanted to hide the fact that I'm an interviewer... 😭😭 But I thought this would be such a great topic to cover, so I decided to join this course. As I mentioned, when I actually conduct interviews at Kakao, I'm not particularly curious about things from a programming perspective. Most of my questions focus on whether someone can do architectural design, and I consider `what kind of concepts this person can come up with` to be extremely important. Various problems can arise from this perspective, and one of those factors is distributed transactions. That's why I think this course is all the more beneficial. If you can answer these kinds of questions after taking this course, I think you'll have learned something truly meaningful. 1. Please tell me about the two patterns of SAGA (Choreography VS Orchestration) 2. Please tell me about the differences and pros/cons of these two patterns. I'm particularly curious about throughput and the problems that come with it. 3. Do you know the concept of local transactions?? (If you don't know, I'll explain it) Then how can distributed transactions be managed in relation to these transactions?? 4. Please tell me everything you know about distributed transactions in general. I'm curious. 5. Do you know what the Database per Service perspective is?? These are examples of questions I actually ask when I go into interviews. If you know about these areas and can answer them, it would be a great help. Please show a lot of interest in the course. Thank you!

    • jhong
      Instructor

      Let's continue creating even better lectures together 😆😆 Thank you!

  • sgh1939님의 프로필 이미지
    sgh1939

    Reviews 8

    Average Rating 5.0

    Edited

    5

    75% enrolled

    It's theory-focused. I'd say it's about 80% theory and 20% practice. It doesn't seem suitable for those who want to learn theory and see real-world source code examples. However, it's suitable for those who know nothing about patterns.

    • jhong
      Instructor

      Hello, Sim Gyu-hwan! Thank you for leaving a review. I kept the actual implementation code simple because I thought spending time on basic coding wouldn't be very beneficial for you all, but next time I'll prepare content that's closer to real-world practice. Thank you for the positive feedback!!

  • sdl1355126님의 프로필 이미지
    sdl1355126

    Reviews 14

    Average Rating 5.0

    5

    92% enrolled

    I personally think this might be one of the most beneficial lectures on Inflearn. The content was so substantial that I was able to learn a lot from it. Thank you.

    • jhong
      Instructor

      Thank you so much for leaving such a Kind review, keny!! I will continue to provide even more beneficial lectures in the future!

  • yoonkr232897님의 프로필 이미지
    yoonkr232897

    Reviews 3

    Average Rating 5.0

    5

    100% enrolled

    Thank you so much for the informative lecture.

    • feel0006171581님의 프로필 이미지
      feel0006171581

      Reviews 2

      Average Rating 5.0

      5

      100% enrolled

      It was a great opportunity to study distributed transactions!

      • jhong
        Instructor

        Hello Pyrii2! Thank you for leaving a review. I'll make sure to provide even better lectures in the future. Have a great day!!

    $59.40

    Hong's other courses

    Check out other courses by the instructor!

    Similar courses

    Explore other courses in the same field!