강의

멘토링

커뮤니티

BEST
Programming

/

Web Development

Distributed Transaction Patterns from an MSA Perspective, as Explained by a Kakao Interviewer (Developer)

Learn SAGA transaction management techniques for maintaining data consistency in distributed environments through hands-on practice. Configure three 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) 17 reviews

451 learners

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

Reviews from Early Learners

What you will gain after the course

  • 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

  • Building a Stable Compensation Transaction Architecture with Spring Boot

  • Building Microservice Transaction Practice 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 them??

😄Hong: Are you talking about concepts like local transactions or guaranteed transactions??

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

😄Hong: I've heard of it, but I haven't implemented it at the core level myself. 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 the content related to this topic and let you know. Let's proceed together while also covering it in the lecture.

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

Are you curious about how to implement ACID principles in an MSA environment?? 🤔

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

Focusing on and considering only one thing cannot truly be the correct answer.

You need to learn various issues and topics, and combine these concepts to prepare methods that can maintain scalability and resilience even in distributed environments.

I hope you'll explore these various topics and their trade-offs as you watch this course. 🚀

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 questions asked by Kakao interviewers (developers) during interviews. Rather than simply providing fixed answers to interview questions, it is designed to help you respond to all questions about the SAGA pattern.

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

  • This is not just a lecture that explains 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.


This course is recommended for: 👨‍🏫

🎯 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 Courses Together 🤭

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

Note

Practice Environment

  • MySQL

    • It is configured using Docker.

  • Spring, Spring Boot

    • I'm using 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

4,619

Learners

340

Reviews

120

Answers

4.7

Rating

18

Courses

자기 소개

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

 

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

 

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

 

지식공유자 경력

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

[前] 메타버스 백엔드 개발자

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

 

인터뷰 이력

Curriculum

All

24 lectures ∙ (5hr 2min)

Course Materials:

Lecture resources
Published: 
Last updated: 

Reviews

All

17 reviews

4.9

17 reviews

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

    Reviews 9

    Average Rating 5.0

    5

    38% enrolled

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

    • Hong
      Instructor

      앞으로 같이 더 좋은 강의 만들어가요 ㅋㅋ 감사합니다!

  • 심규환님의 프로필 이미지
    심규환

    Reviews 7

    Average Rating 5.0

    Edited

    5

    75% enrolled

    이론 위주구요. 이론이 80% 실습이 20% 정도 되는거 같습니다. 이론을 알고 실사용 소스 예시를 알고싶은 분에게는 적합하지 않은것 같습니다. 다만 패턴에 대해 전혀 모르는 분에게는 적합합니다.

    • Hong
      Instructor

      안녕하세요 심규환님 평 남겨주셔서 감사합니다. 단순코딩하는 시간이 여러분들에게 유익하지않을꺼같아 실사용 소스는 간단하게 다루었는데 다음에는 좀 더 실전에 가깝게 준비해보도록 하겠습니다. 좋은 평 감사합니다!!

  • keny님의 프로필 이미지
    keny

    Reviews 14

    Average Rating 5.0

    5

    92% enrolled

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

    • Hong
      Instructor

      keny님 좋은 평 남겨주셔서 너무 감사합니다!! 앞으로 더 유익한 강의 제공해드리도록 하겠습니다!

  • 윤가람님의 프로필 이미지
    윤가람

    Reviews 3

    Average Rating 5.0

    5

    100% enrolled

    정말 유익한 강의 감사합니다.

    • 파이리이2님의 프로필 이미지
      파이리이2

      Reviews 2

      Average Rating 5.0

      5

      100% enrolled

      분산 트랜잭션에 대해 공부할 수 있는 좋은 시간이 되었습니다!

      • Hong
        Instructor

        안녕하세요 파이리이2님 평 남겨주셔서 감사합니다. 앞으로 더 좋은 강의 제공해드릴 수 있도록할게요. 좋은 하루 보내세요!!

    Limited time deal

    $57,200.00

    24%

    $59.40

    Hong's other courses

    Check out other courses by the instructor!

    Similar courses

    Explore other courses in the same field!