강의

멘토링

커뮤니티

NEW
Programming

/

Web Development

Distributed Transaction Patterns from an MSA Perspective Shared by a Kakao Interviewer (Developer)

Learn SAGA transaction management techniques for maintaining data consistency in distributed environments through hands-on practice. Configure 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 practice, including distributed transaction operation principles, compensating transaction design, and failure recovery handling.

(5.0) 3 reviews

98 learners

  • Hong
실습 중심
백엔드이해하기
자격증
시험
스프링
Java
Spring
MySQL
Spring Boot
MSA

Reviews from Early Learners

What you will learn!

  • Revealing the Secrets of Designing Fault-Tolerant Distributed Transactions

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

  • Implementing Real-time Event-driven SAGA Transactions with Kafka

  • Stable Compensation Transaction Architecture with Spring Boot

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

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

  • The content below is actual conversation content.

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

😄 Hong : You're talking about concepts like local transactions or guaranteed transactions, right??

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

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

😁Kakao Interviewer (Developer): Then I'll organize and share the content related to this topic, and let's proceed together while also covering lectures on this subject.

😄 Hong : 😆😆😆😆😆 Nice, then it would be sweet if I apply to Kakao later too 😆😆 Let's give it a try.

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

If you implement the Database per Service approach in numerous service application relationships, how do you ensure transaction management and state management for operations in this situation??

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

Features of this course

📌 A course structured based on the know-how and interview questions from actual Kakao interviewers (developers)

  • This content is structured based on questions that actual Kakao interviewers (developers) asked during interviews. Rather than simply providing fixed answers to interview questions, it is designed to help you handle all questions about the SAGA pattern.

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

  • This isn't just a lecture that explains things with words alone, but one that enhances your 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..! Distributed transaction management from an MSA perspective

  • Through this course, you can clearly learn about the problems that exist in MSA environments, how to solve those problems accordingly, and what advantages and disadvantages there are.


I recommend this for people like this 👨‍🏫

🎯 Non-CS major developers who want to challenge themselves with large-scale 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

🎯 Beyond simple microservices, developers who want to design complex distributed transactions

Great resources to check out together 🚀

People who create lectures together 🤭

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

Reference Notes

Practice Environment

  • MySQL

    • It is configured using Docker.

  • Spring, Spring Boot

    • Uses 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?

  • 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

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

Hello
This is

3,829

Learners

287

Reviews

104

Answers

4.6

Rating

18

Courses

자기 소개

집에서 빈둥대다 개발에 흥미를 느껴 개발 공부를 시작하였고 현재는 판교에서 플랫폼 서버 개발을 담당하여 진행하고 있습니다.

 

제가 공부를 했던 방법과 실무에서 접하실 수 있는 여러가지 문제점들과 해결책을 여러분들에게 제공하고 싶어 지식공유자 활동을 이어나가고 있습니다.

 

강의는 오로지 저만의 지식을 통해 만들어지지 않습니다. 모든 강의는 함께하시는 분들이 계십니다.

 

지식공유자 경력

[前] 샌드박스 블록체인 개발자

[前] 넥슨 자회사 백엔드 개발자

[] 판교에서 고여가는 서버 개발자

 

인터뷰 이력

Curriculum

All

24 lectures ∙ (5hr 2min)

Course Materials:

Lecture resources
Published: 
Last updated: 

Reviews

All

3 reviews

5.0

3 reviews

  • 우왕 개발자다님의 프로필 이미지
    우왕 개발자다

    Reviews 9

    Average Rating 5.0

    5

    38% enrolled

    강의를 만드는데 도움을 준 카카오에서 서버 개발하고 있습니다. 사실 면접관이라는 직책은 좀 숨기고 싶었는데... ㅠㅠ 정말 다루면 너무나도 좋은 주제라고 생각을 하여 이렇게 강의에 함께하게 되었습니다. 말씀드렸던것처럼 저는 실제로 카카오에서 면접을 진행하면, 프로그래밍 관점에서는 딱히 궁금해 하지않습니다. 거의 대부분의 질문이 아키텍처 설계를 할 수 있냐 없냐에 대한 내용을 많이 물어보고 `이 사람은 어떤 구상을 할 수 있는지`를 굉장히 중요하게 생각하고 있습니다. 이 관점에서의 다양한 문제가 발생 가능한데, 그러한 요인중에 하나가 이 분산 트랜잭션 입니다. 그래서 이 강의가 그만큼 더 유익하다고 생각을 해요. 여러분들이 이 강의를 들으시고 이런 질문들에 대해서 답변 할 수 있으면 정말 뜻깊게 학습을 하신거라고 생각합니다. 1. SAGA의 두 패턴에 대해서 알려주세요 ( 코레오그래피 VS 오케스트레이션) 2. 이 두 패턴의 차이와 장단점에 대해서 알려주세요. 대표적으로 처리량 부분이나 그에따른 문제점이 궁금해요. 3. 로컬 트랜잭션이라는 개념을 알고 계신가요?? (모른다면 알려줍니다) 그러면 이런 트랜잭션과의 관계에서 분산 트랜잭션은 어떻게 관리 할 수 있을까요?? 4. 분산 트랜잭션 관점에 대해서 전반적으로 알고있는것들을 알려주세요. 궁금합니다. 5. Database per Service라는 관점이 어떤 관점이신지 알고 계신가요?? 실제로 제가 면접에 들어가면 던지는 질문 예시입니다. 이런 부분들에 대해서 알고 계시고 답변 할 수 있다면 큰 도움이 되실꺼같아요. 강의 많은 관심 부탁드립니다. 감사합니다!

    • keny님의 프로필 이미지
      keny

      Reviews 14

      Average Rating 5.0

      5

      92% enrolled

      개인적으로 인프런에서 가장 유익한 강의 중 하나가 아닐까 생각이 드네요. 그만큼 내용도 알차게 학습할 수 있었습니다. 감사합니다.

      • 개발에 미친자님의 프로필 이미지
        개발에 미친자

        Reviews 6

        Average Rating 5.0

        5

        92% enrolled

        강의 너무 잘 봤습니다. 초기 정말 수많은 다이어그램을 보여주시면서 전반적인 아키텍처와 그에따른 설명이 너무 마음에 들었고 부족할만한 지식과 정리할만한 개념은 따로 강의 요약 파일을 통해 확인도 가능했습니다. 필요에 따라서 인프런 스크립트도 도움이 되었습니다. 또한 복습하는 과정도 하나하나 다시 설명해주시고, 현실적인 이야기와 실무적인 관점에서의 이야기도 너무 유익했다고 생각합니다. 너무 잘 봤습니다. 감사합니다.

        Limited time deal

        $29,700.00

        70%

        $77.00

        Hong's other courses

        Check out other courses by the instructor!

        Similar courses

        Explore other courses in the same field!