강의

멘토링

커뮤니티

BEST
Programming

/

Web Development

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

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

難易度 初級

受講期間 無制限

  • Hong
Java
Java
Spring
Spring
MySQL
MySQL
Spring Boot
Spring Boot
MSA
MSA
Java
Java
Spring
Spring
MySQL
MySQL
Spring Boot
Spring Boot
MSA
MSA

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

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

4.9

5.0

파이리이2

100% 受講後に作成

分散トランザクションについて勉強できる良い時間になりました!

5.0

keny

92% 受講後に作成

個人的にInflearnで最も有益な講義の一つではないかと思いますね。それほど内容も充実して学習することができました。ありがとうございます。

5.0

개발에 미친자

92% 受講後に作成

講義をとても良く拝見させていただきました。 初期に本当に数多くのダイアグラムを見せていただきながら、全般的なアーキテクチャとそれに伴う説明がとても気に入りましたし、不足しがちな知識と整理すべき概念は別途講義要約ファイルを通じて確認も可能でした。必要に応じてInflearnスクリプトも役に立ちました。 また復習する過程も一つ一つ再び説明してくださり、現実的な話と実務的な観点からの話もとても有益だったと思います。 とても良く拝見させていただきました。ありがとうございます。

受講後に得られること

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

  • 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,966

受講生

391

受講レビュー

127

回答

4.7

講座評価

22

講座

自己紹介

家でゴロゴロしていた時に開発に興味を持ち、独学を始め、現在は板橋(パンギョ)でプラットフォームサーバーの開発を担当しています。私が学んできた方法や、実務で直面しうる様々な問題とその解決策を皆さんに提供したいという思いから、知識共有者としての活動を続けています。

 

講義は私一人の知識だけで作られるものではありません。すべての講義には、共に作り上げてくださる方々がいます。

知識共有者の経歴

[前] サンドボックスIP関連ブロックチェーン開発者

[前] メタバースバックエンド開発者

[] 板橋(パンギョ)でベテランになりつつあるサーバー開発者

NAVERで開発を担当しているAnde知識共有者の経歴 [前] サンドボックスIP関連ブロックチェーン開発者 [前] メタバース・バックエンド開発者 [現] パンギョ(板橋)で経験を積んでいるサーバー開発者

インタビュー履歴

その他のお問い合わせ

  • unduck2022@gmail.com

カリキュラム

全体

24件 ∙ (5時間 2分)

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

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

受講レビュー

全体

20件

4.9

20件の受講レビュー

  • cchoii님의 프로필 이미지
    cchoii

    受講レビュー 11

    平均評価 5.0

    5

    38% 受講後に作成

    講義作成を手伝ってくれたカカオでサーバー開発をしています。実は面接官という職責は少し隠したかったのですが...😭😭 本当に扱えばとても良いトピックだと思い、このように講義に一緒に参加することになりました。 お話ししたように、私が実際にカカオで面接を進行する際、プログラミング観点では特に気になりません。ほとんど大部分の質問がアーキテクチャ設計ができるかできないかに関する内容を多く聞き、`この人はどのような構想ができるか`をとても重要に考えています。 この観点での様々な問題が発生可能ですが、そのような要因の一つがこの分散トランザクションです。だからこの講義がそれだけ有益だと思います。 皆さんがこの講義を聞いて、このような質問に対して回答できれば、本当に意味深く学習されたと思います。 1. SAGAの二つのパターンについて教えてください(コレオグラフィー VS オーケストレーション) 2. この二つのパターンの違いと長短所について教えてください。代表的に処理量部分やそれに伴う問題点が気になります。 3. ローカルトランザクションという概念をご存知ですか??(知らなければ教えます)それではこのようなトランザクションとの関係で分散トランザクションはどのように管理できるでしょうか?? 4. 分散トランザクション観点について全般的に知っていることを教えてください。気になります。 5. Database per Serviceという観点がどのような観点かご存知ですか?? 実際に私が面接に入ると投げかける質問例です。このような部分について知っていて回答できれば大きな助けになると思います。 講義への多くの関心をお願いします。ありがとうございます!

    • jhong
      知識共有者

      これからも一緒により良い講義を作っていきましょう 😆😆 ありがとうございます!

  • sgh1939님의 프로필 이미지
    sgh1939

    受講レビュー 8

    平均評価 5.0

    修正済み

    5

    75% 受講後に作成

    理論中心ですね。理論が80%、実習が20%程度だと思います。理論を知って実際の使用ソース例を知りたい方には適していないようです。ただし、パターンについて全く知らない方には適しています。

    • jhong
      知識共有者

      こんにちは、シム・ギュファン様、レビューを残していただきありがとうございます。単純なコーディングの時間が皆様にとって有益ではないと思い、実際の使用ソースは簡単に扱いましたが、次回はもう少し実践に近い形で準備するようにいたします。 良いレビューありがとうございます!!

  • sdl1355126님의 프로필 이미지
    sdl1355126

    受講レビュー 14

    平均評価 5.0

    5

    92% 受講後に作成

    個人的にInflearnで最も有益な講義の一つではないかと思いますね。それほど内容も充実して学習することができました。ありがとうございます。

    • jhong
      知識共有者

      kenyさん、良いレビューを残していただき、本当にありがとうございます!!今後もより有益な講義を提供できるよう頑張ります!

  • yoonkr232897님의 프로필 이미지
    yoonkr232897

    受講レビュー 3

    平均評価 5.0

    5

    100% 受講後に作成

    本当に有益な講義をありがとうございます。

    • feel0006171581님의 프로필 이미지
      feel0006171581

      受講レビュー 2

      平均評価 5.0

      5

      100% 受講後に作成

      分散トランザクションについて勉強できる良い時間になりました!

      • jhong
        知識共有者

        こんにちは、파이리이2さん。レビューを残していただきありがとうございます。今後もより良い講義を提供できるよう努めます。良い一日をお過ごしください!!

    ¥9,417

    Hongの他の講座

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

    似ている講座

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