강의

멘토링

커뮤니티

BEST
개발 · 프로그래밍

/

웹 개발

카카오 면접관이 알려주는 MSA 관점에서의 분산 트랜잭션 패턴

분산 환경에서 데이터 일관성을 유지하기 위한 SAGA 트랜잭션 관리 기법을 실습 중심으로 학습합니다. Spring Boot와 Docker를 활용해 3개의 마이크로서비스를 구성하고, Orchestration과 Choreography 두 가지 패턴을 Kafka와 MySQL로 구현합니다. 이 강의를 통해 분산 트랜잭션의 동작 원리, 보상 트랜잭션 설계, 장애 복구 처리 등 실무에서 바로 활용 가능한 핵심 개념을 익힐 수 있습니다.

(4.9) 수강평 20개

수강생 495명

난이도 초급

수강기한 무제한

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

먼저 경험한 수강생들의 후기

먼저 경험한 수강생들의 후기

4.9

5.0

파이리이2

100% 수강 후 작성

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

5.0

keny

92% 수강 후 작성

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

5.0

개발에 미친자

92% 수강 후 작성

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

수강 후 이런걸 얻을 수 있어요

  • 장애에도 끄떡없는 분산 트랜잭션 설계 비밀 공개

  • Orchestration·Choreography 패턴, 실무에서 언제 어떻게 쓸까?

  • Kafka로 구현하는 실시간 이벤트 기반 SAGA 트랜잭션

  • Spring Boot로 완성하는 안정적인 보상 트랜잭션 아키텍처

  • Docker로 직접 구축하는 마이크로서비스 트랜잭션 실습

MSA 환경에서의 ACID를 어떻게 관리하면 좋을까요?? 🤔

  • 아래에 있는 내용은 실제 대화 내용입니다.

😁 Kakao 면접관(개발자) : XX야(Hong) 분산 트랜잭션에 대해서 공부해보면 좋아. 알고있어??

😄 Hong : 그 로컬 트랜잭션이나 보장 트랜잭션 이런 개념 말하는거지??

😁 Kakao 면접관(개발자) : ㅇㅇ SAGA 패턴 말하는거야. 내가 면접관으로 활동하면서 이런거 질문 항상 하는데, 모르는 사람들이 많아서 너 생각나서 물어본거야

😄 Hong : 들어는 봤는데, 내가 코어레벨까지는 구현해보지는 않았어. 속히 말하는 Database per Service 관점까지는 들어가지는 않아서 개념만 알고있어

😁 Kakao 면접관(개발자) : 그럼 이 주제로 내가 관련해서 내용 정리하고 알려줄게 관련하여 강의도 다루어보면서 같이 진행해보자.

😄 Hong : ㅋㅋㅋㅋㅋ 좋아 그럼 나도 나중에 카카오 지원하면 꿀이네 ㅋㅋ 한번 진행해보자.

혹시 MSA 환경에서 ACID 관점을 어떻게 수행하시나요?? 🤔

수많은 서비스 애플리케이션 관계에서 Database per Service 관점을 수행하게 된다면, 이 상황에서 작업에 대한 상태 관리 그에따른 Transaction을 어떻게 보장하시나요??

그에대한 답은 SAGA 패턴에 있습니다. 하나의 작업을 수행하고 처리하기 위해서는 수많은 서비스를 통신해야하고 그 과정에서 수많은 트랜잭션이 발생하게 될 겁니다. 각각의 서비스들이 데이터베이스를 가지고 있는 관점에서 각각의 작업은 로컬 트랜잭션을 수행하고 장애상황에 대해서 보상 트랜잭션을 수행하는 패턴을 통해서 하나의 작업이 수행되게 될 겁니다. 이런 분산 트랜잭션의 기능을 어떻게 구현할 수 있는지 이 강의를 보시면서 그에따른 견해를 얻어가시기를 바라겠습니다. 🚀

이 강의의 특징

📌 실제 카카오 면접관(개발자)의 노하우와 면접 질문을 기준으로 구성된 강의

  • 실제 카카오 면접관(개발자)가 면접에서 질문을 했던 내용들을 기준으로 구성하였습니다. 단순하게 면접에 대한 답을 고정적으로 알려드리는것이 아니라 SAGA 패턴에 대한 모든 질문을 대응 할 수 있게 구성하였습니다.

📌 수많은 다이어그램, 강의 요약 및 소스코드를 통한 강의 구성

  • 단순히 말만으로 설명하는 강의가 아니라, 실제 소스코드, 다이어그램, 시퀀스그램, 추가로 강의 내용에 대한 간단한 요약본 파일도 제공해드리면서 강의 효율을 높여드립니다.


📌 주니어에서 시니어로 가는 지름길..! MSA 관점에서의 분산 트랜잭션 관리

  • MSA 환경이 어떤 문제가 있는지 그에따라서 어떻게 문제를 해결 할 수 있는지를 이 강의를 통해 확인하시면서 어떤 장점과 단점이 있는지 명확하게 배우실 수 있습니다.


이런 분들에게 추천드려요 👨‍🏫 

🎯 비전공자 개발자이지만 대용량 트래픽 설계에 도전하고 싶은 분

🎯 MSA, SAGA에 대해 들어봤지만 구체적인 설계 방법을 몰랐던 분

🎯 스타트업/대기업의 트래픽 확장성과 장애 복원력을 고민하는 백엔드 개발자

🎯 단순 마이크로서비스를 넘어, 복잡한 분산 트랜잭션을 설계하고 싶으신 개발자

같이 보면 좋은 자료 🚀 

함께 강의를 만드는 사람들 🤭

⚠️ 실력있는 개발자분들과 면접관분들의 견해를 옅볼 수 있는 기회를 놓치지마세요!

참고 사항

실습 환경

  • MySQL

    • Docker를 활용하여 구성합니다.

  • Spring, Spring Boot

    • 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

이런 분들께
추천드려요

학습 대상은
누구일까요?

  • 마이크로서비스 간 데이터 일관성 문제로 고민하는 서버 개발자

  • 분산 트랜잭션 설계를 실무 코드로 배우고 싶은 백엔드 엔지니어

  • Kafka 기반 아키텍처를 한 단계 업그레이드하고 싶은 개발자

  • Spring Boot로 실전형 SAGA 패턴을 익히고 싶은 학습자

  • 안정적인 대규모 시스템을 설계하고 싶은 기술 리더 및 아키텍트

안녕하세요
입니다.

5,919

수강생

390

수강평

127

답변

4.7

강의 평점

22

강의

자기 소개

집에서 빈둥대다 개발에 흥미를 느껴 개발 공부를 시작하였고 현재는 판교에서 플랫폼 서버 개발을 담당하여 진행하고 있습니다. 제가 공부를 했던 방법과 실무에서 접하실 수 있는 여러가지 문제점들과 해결책을 여러분들에게 제공하고 싶어 지식공유자 활동을 이어나가고 있습니다.

 

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

 

지식공유자 경력

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

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

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

 

인터뷰 이력

기타 문의

  • unduck2022@gmail.com

커리큘럼

전체

24개 ∙ (5시간 2분)

해당 강의에서 제공:

수업자료
강의 게시일: 
마지막 업데이트일: 

수강평

전체

20개

4.9

20개의 수강평

  • Choi님의 프로필 이미지
    Choi

    수강평 11

    평균 평점 5.0

    5

    38% 수강 후 작성

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

    • Hong
      지식공유자

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

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

    수강평 8

    평균 평점 5.0

    수정됨

    5

    75% 수강 후 작성

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

    • Hong
      지식공유자

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

  • keny님의 프로필 이미지
    keny

    수강평 14

    평균 평점 5.0

    5

    92% 수강 후 작성

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

    • Hong
      지식공유자

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

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

    수강평 3

    평균 평점 5.0

    5

    100% 수강 후 작성

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

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

      수강평 2

      평균 평점 5.0

      5

      100% 수강 후 작성

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

      • Hong
        지식공유자

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

    월 ₩15,180

    5개월 할부 시

    ₩75,900

    Hong님의 다른 강의

    지식공유자님의 다른 강의를 만나보세요!

    비슷한 강의

    같은 분야의 다른 강의를 만나보세요!