inflearn logo
知識共有
inflearn logo

コードで完結させる分散トランザクション (feat. AI Agent)

初めてのMSA転換当時、理論だけを知っていて実務のコード実装に絶望した私の経験を活かし、 막막했던(どうすればいいか分からなかった)補償ロジックを9段階の実践パターンとAI Agentコーディングで直接ロールバックしながら、いかなるシステム障害の中でも完璧なデータ整合性を保証する開発者へと成長させます。

難易度 中級以上

受講期間 無制限

AI
AI
AI Agent
AI Agent
Docker
Docker
transaction
transaction
MSA
MSA
AI
AI
AI Agent
AI Agent
Docker
Docker
transaction
transaction
MSA
MSA

受講後に得られること

  • Javaベースの分散トランザクション理論

  • 実践Saga(オーケストレーション & コレオグラフィ)パターン

  • TCC (Try-Confirm-Cancel) パターンの実装

  • Transactional Outbox パターンの適用

  • べき等性 & 回復力設計

  • AIエージェントを活用した報酬ロジックの実装

購入失敗後もデータ整合性を守ることはできますか?

理論だけを知っている開発者と障害を収拾する開発者の違いは、
失敗した決済をコードで元に戻す補償ロジックを直接実装することにあります。
モノリシック構造から始めて分散環境へと移行し、9段階の実戦パターンで整合性を守るフローを完成させます。

AI Agentを活用してたった一行のコードも書かない実習を体験してください。 🧑‍🔬

注文サービスは処理が完了したのに決済サービスが失敗し、データの整合性が合わない状況。原因を突き止めるだけでなく、Sagaパターンを適用して解決します。

補償ロジックが一度失敗すると、再試行するほどデータがさらに複雑になる状況。冪等性を適用して、同じリクエストが繰り返されても結果を安全に制御します。

サービス間のメッセージが保存される前に障害が発生し、イベントが消失してしまう状況。トランザクションアウトボックスパターンを用いて、データの変更とイベントの発行をセットで設計します。

分散トランザクションが難しく感じられた経験は、当然のことです。これからはAI Agentを活用して、TCC、オーケストレーションとコレオグラフィSaga、トランザクションアウトボックスと回復力設計を直接実装してみてください。
障害が発生しても、どこで失敗し、どのように復旧させるかを説明できる開発者へとステップアップしましょう。

分散トランザクションの原理から
試行・確定・取消とサーガの実装まで、
べき等性と回復力で障害の中でも整合性を守ります。

決済と座席予約のロールバックを自ら完成させ、
障害にも揺るがないバックエンド開発者へと成長します。

この講義が終われば、あなたは

分散環境のデータ不整合を自ら追跡し、復旧できるようになります。

  • モノリシック構造からMSAへと分離される過程を段階別に確認し、決済は完了したのに座席が残っていない状況や、注文は失敗したのにポイントが差し引かれる状況がなぜ発生するのかをコードで再現します。障害ポイントとデータフローを紐解き、原因を自ら突き止めることができるようになります。


😎😎😎

障害が発生してもデータ整合性を守る分散トランザクションの実装法

モノリスからMSAまで
補償フローを直接完成させる設計 🛠️

一つのトランザクションで処理していた注文と決済がサービスごとに分かれた際、なぜデータに不整合が生じるのかを確認し、AI Agentで補償トランザクションの動作を段階別に実装します。
TCC、オーケストレーション方式とコレオグラフィ方式を比較しながら、失敗した作業を取り消して整合性を回復するフローを直接完成させます。

⚡二重決済とべき等性の問題を再現し、修正する実習

モノリシック構造をMSAに転換した後、決済失敗と補償失敗の状況を再現し、Docker環境でTCCとSagaパターンの処理結果を確認します。
Kafkaを活用したイベントフロー、トランザクションアウトボックス、冪等性処理とサーキットブレーカーまで適用し、繰り返しのリクエストやサービス障害に耐えるコードを作成します。

🔥AI Agentを使用して、コードを一行も直接書かない実習

プロジェクトの基本設定からサーガ補償ロジック、トランザクションアウトボックス、べき等性処理、回復力設計まで、講義で扱うコードをたった一行も直接書くことなく、AI Agentを活用して段階ごとに進めることができます。
各段階の動作結果と失敗状況を確認しながら、補償ロジックを実装し改善する実践的な流れまで繋げます。


📚

モノリスからレジリエンス設計まで、9つのステップで直接実装します

セクション 1

モノリシックアーキテクチャの実装

単一アプリケーション構造において、注文や決済といった業務フローを一つのローカルトランザクションとして実装します。プロジェクトの基本設定と実行結果を確認しながら、モノリシックトランザクションの動作原理を理解します。


Section 2

マイクロサービスアーキテクチャへの転換

モノリスアプリケーションを複数のマイクロサービスに分離し、サービス間の呼び出し構造を実装します。分散環境でトランザクションが分離されることで発生するデータ整合性の問題を、コードと実行結果で確認します。


Section 3

補償トランザクションの実装

分散トランザクション失敗時に、すでに完了した作業を元に戻す補償トランザクションを実装します。サービス別の補償ロジックと実行フローをコードで検証し、補償ベースのデータ整合性確保の方法を学びます。


Section 4

TCCパターンの実装

試行・確定・取消の段階にトランザクションを分離するTCCパターンの原理と実装方法を学習します。2フェーズコミットとTCCの違い、適用状況、および分散環境におけるメリット・デメリットを比較します。


セクション 5

Sagaオーケストレーションの実装

Sagaオーケストレーション方式の動作原理と、中央調整者を活用した補償フローを実装します。補償失敗の状況、コードの改善、耐久性のあるワークフローツールの概念まで扱い、障害対応構造を設計します。


Section 6

Saga コレオグラフィの実装

サービス間のイベントをベースに、各サービスが次のタスクや補償トランザクションを自律的に実行するコレオグラフィ・サーガを実装します。メッセージブローカーを活用したフローを確認し、オーケストレーション方式との構造的な違いや選択基準を比較します。


セクション 7

トランザクションアウトボックスパターンの実装

データ変更とイベント発行の間の不一致を防ぐトランザクションアウトボックスパターンを学習します。データベーストランザクションでイベントを共に保存した後、安全に発行する実装方式を適用します。


Section 8

冪等性の保証

同じリクエストやイベントが複数回処理されても、結果が一度処理された時と同じになるように冪等性を設計します。冪等性の問題を再現し、重複決済のような障害を防止する処理ロジックを実装します。


セクション 9

回復力設計とサーキットブレーカー

分散システム障害を正常に吸収するための回復力の概念と設計原則を学びます。サーキットブレーカーを適用し、障害状況でサービス呼び出しがどのように隔離され復旧されるかを、コードと実行結果で確認します。


このような方々の悩みを
解決できます! 💡

📌

ジュニアバックエンドエンジニア

単一のアプリケーションでは正常に処理されていた注文と決済が、サービスの分離後に互いに異なる状態のまま残ってしまう問題に直面している方。
モノリシック構造をMSAに分割し、失敗した作業を元に戻す補償ロジックを直接実装しようとしている方。

📌

MSAへの転換を担当する中級開発者

注文は完了したのに決済が重複したり、座席が再販売されたりする障害を解決しなければならない方。
オーケストレーションとコレオグラフィ方式のSaga、TCC、トランザクションアウトボックスを実際のサービスフローに適用しようとしている方。

📌

分散システム設計を準備するバックエンドエンジニア

分散トランザクションの理論とパターンは習得したが、障害の再現からべき等性、リトライ、サーキットブレーカーの実装まで繋げられていない方。
AIエージェントを活用して、補償トランザクションと回復力のある処理フローをコードで完成させたい方。




受講前のご注意事項


実習環境

  • AI AgentとDockerを積極的に活用します。

  • 講義ではGemini、Antigravityを使用しますが、どのAI Agentを使用しても問題ありません。

前提知識および注意事項

  • Java、Spring Boot、REST API、データベースの基礎知識が必要です。

  • 分散環境(MSA)の構造を知っていると、よりスムーズです。

  • 初級・中級開発者に適したコースです。

  • 事例に沿ってコードを直接作成します。

学習資料

  • リアルタイムで更新可能なNotionの講義資料を共有します。

  • ステップごとにブランチが分かれているGitHubリポジトリを共有します。


こんな方に
おすすめです

学習対象は
誰でしょう?

  • Saga・TCCパターンを超え、実践的なコーディング能力を高めたい中級開発者

  • MSA転換後、データ整合性の問題で苦しんでいる開発者

  • 二重決済や幽霊座席などの致命的な障害を根本的に解決したい開発者

前提知識、
必要でしょうか?

  • Spring Boot & Java/Kotlin 基本スキル

  • RDBMS & SQL 基礎知識

  • Docker / Docker Compose 基礎

  • HTTP通信およびネットワークの基礎

  • AIエージェントツールの活用意欲

こんにちは
joyopiです。

キャリア認証

170

受講生

14

受講レビュー

1

回答

5.0

講座評価

2

講座

(現) AhnLab バックエンド開発者

カリキュラム

全体

38件 ∙ (7時間 22分)

講座掲載日: 
最終更新日: 

受講レビュー

全体

2件

5.0

2件の受講レビュー

  • yoonheelee님의 프로필 이미지
    yoonheelee

    受講レビュー 2

    平均評価 5.0

    5

    100% 受講後に作成

    分かりやすく説明してくださり、とても有意義な時間でした!!

    • hyunwoochoi4034님의 프로필 이미지
      hyunwoochoi4034

      受講レビュー 2

      平均評価 5.0

      5

      100% 受講後に作成

      バックエンド開発をしながら、SagaやTCCのような概念には一度は触れたことがありましたが、いざ説明しようとすると、それぞれの違いやいつ適用すべきなのかが曖昧な部分がありました。 この講義を通して、モノリスからMSAへ移行する過程を実際に追体験しながら、なぜ分散トランザクションが必要なのかを自然に理解でき、以前から知っていた概念も確実に整理することができました。 特に、決済失敗や補償処理の失敗など、実際の運用環境で十分に起こり得る状況を自分で再現してみることで、単に正常なフローだけを見るよりもはるかに理解しやすかったです。 AI Agentを活用して、複雑な補償ロジックや障害対応のプロセスを段階的に実装していく方法もよかったですし、二重決済や幽霊座席のような状況を実際に解決してみることで、なぜこのような設計が必要なのかもはっきり実感できました。 MSA環境で開発している方や、分散環境におけるデータ整合性の問題を正しく理解し、障害対応能力まで高めたい方におすすめしたい講義です。

      • joyopi
        知識共有者

        心のこもった初めての受講レビューをありがとうございます! 私がこだわった部分をすべて気づいてくださったんですね 🥲 私の講義がお役に立てたようで何よりです。 次の講義も心を込めて作っていきたいと思います!

    似ている講座

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

    新規会員登録で25%OFF

    ¥7,609

    25%

    ¥10,139