강의

멘토링

로드맵

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,795

受講生

287

受講レビュー

104

回答

4.6

講座評価

18

講座

자기 소개

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

 

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

 

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

 

지식공유자 경력

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

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

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

 

인터뷰 이력

カリキュラム

全体

24件 ∙ (5時間 2分)

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

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

受講レビュー

全体

3件

5.0

3件の受講レビュー

  • ddddve님의 프로필 이미지
    ddddve

    受講レビュー 9

    平均評価 5.0

    5

    38% 受講後に作成

    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!

    • sdl1355126님의 프로필 이미지
      sdl1355126

      受講レビュー 14

      平均評価 5.0

      5

      92% 受講後に作成

      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.

      • kslj82586229님의 프로필 이미지
        kslj82586229

        受講レビュー 6

        平均評価 5.0

        5

        92% 受講後に作成

        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.

        期間限定セール

        ¥23

        70%

        ¥12,123

        Hongの他の講座

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

        似ている講座

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