강의

멘토링

커뮤니티

NEW
Programming

/

Web Development

カカオ面接官(開発者)が教えるMSA観点での分散トランザクションパターン

分散環境でデータ整合性を維持するためのSAGAトランザクション管理技法を実習中心で学習します。Spring BootとDockerを活用して3つのマイクロサービスを構成し、OrchestrationとChoreographyの2つのパターンをKafkaとMySQLで実装します。この講義を通じて分散トランザクションの動作原理、補償トランザクション設計、障害復旧処理など実務ですぐに活用可能な核心概念を身につけることができます。

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

学習した受講者のレビュー

こんなことが学べます

  • 障害にもびくともしない分散トランザクション設計の秘密を公開

  • 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パターンを身につけたい学習者

  • 安定した大規模システムを設計したい技術リーダー及びアーキテクト

こんにちは
です。

3,915

受講生

288

受講レビュー

104

回答

4.6

講座評価

18

講座

자기 소개

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

 

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

 

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

 

지식공유자 경력

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

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

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

 

인터뷰 이력

カリキュラム

全体

24件 ∙ (5時間 2分)

講座資料(こうぎしりょう):

授業資料
講座掲載日: 
最終更新日: 

受講レビュー

全体

4件

5.0

4件の受講レビュー

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

    受講レビュー 9

    平均評価 5.0

    5

    38% 受講後に作成

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

    • keny님의 프로필 이미지
      keny

      受講レビュー 14

      平均評価 5.0

      5

      92% 受講後に作成

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

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

        受講レビュー 6

        平均評価 5.0

        5

        92% 受講後に作成

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

        • 유희준님의 프로필 이미지
          유희준

          受講レビュー 40

          平均評価 5.0

          5

          25% 受講後に作成

          강의 퀄리티가 점점 좋아져서 일단 사고 생각하기로 했습니당

          期間限定セール

          ¥29,700

          70%

          ¥12,214

          Hongの他の講座

          知識共有者の他の講座を見てみましょう!

          似ている講座

          同じ分野の他の講座を見てみましょう!