강의

멘토링

커뮤니티

BEST
Programming

/

Back-end

注文システムで学ぶ分散トランザクション

MSA環境で起こりうる整合性の問題と解決策を学びましょう

難易度 初級

受講期間 無制限

  • 169developer9973
MSA
MSA
MSA
MSA

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

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

4.9

5.0

JinSung Hwang

100% 受講後に作成

良い講義を作ってくださってありがとうございます〜! 分散トランザクションについてキーワードだけ知っていて内容についてはよく分からなかったのですが、この講義のおかげでたくさん学ぶことができました 講義で単純に理論的な内容だけを扱われたのではなく実務で経験できる状況とそれに応じた解決ノウハウまで一緒に教えてくださって本当に講義をよく見ることになりました! 実際にどのように適用すればよいか感覚が掴めてよかったです 本当に良い講義ありがとうございます!!!

5.0

jiheon

100% 受講後に作成

短所:例示がないためコードを間違えると長時間デバッグしなければならない 長所:それ以外のすべて

5.0

Jay

31% 受講後に作成

信頼して見る神講義

受講後に得られること

  • MSA環境でトランザクションを制御する方法

  • 分散トランザクション

MonolithicからMSAへの移行、そして分散トランザクション

サービスが成長し複雑になるにつれて、多くの企業は既存のモノリシック(Monolithic)アーキテクチャからマイクロサービスアーキテクチャ(MSA)への転換を検討するようになります。MSAはサービス間の独立性と拡張性を保証し、迅速な開発とデプロイ、柔軟な障害対応などを可能にする現代的なアーキテクチャです。しかし、このような転換には必ず押さえておくべき重要な課題があります。それはトランザクションの一貫性と整合性の問題です。

Monolithic環境では、一つのデータベースとトランザクション境界内ですべての処理を実行できたため、トランザクション管理が比較的簡単でした。注文、決済、在庫など様々なドメインのデータが一つのトランザクションでまとめられ、一貫性を持って処理されていました。しかし、MSAに移行することで各ドメインが独立したサービスと別々のデータベースに分離され、既存方式のトランザクション処理ではデータ整合性を保証することが困難な状況が発生します。

この講義では、単一トランザクションでは解決できないMSA環境でのトランザクション問題をどのように解決できるか、分散トランザクションパターンである2PC、TCC、そしてSAGAについて学習します。

特にこの講義は単純な理論説明に留まらず、注文サービスを中心にMonolithic構造から始めて、MSA環境に移行しながら実際にどのような問題が発生するのか、そしてこれを各パターンを通じてどのように解決できるのかを具体的なフローチャート、サンプルコード、実務適用のコツと共に説明します。

受講後には

  • Monolithicからマイクロサービスアーキテクチャ(MSA)に移行する際に発生するトランザクション問題について理解しています。

  • 各分散トランザクションパターンの構造、メリット・デメリット、適用時の考慮事項を理解できます。

  • 実務でトランザクション整合性を確保するための設計戦略を知ることができます。

  • Lockを活用した同時性制御を行うことができます。


受講前の参考事項

実習環境

  • 講義はMacOS基準で説明します。Windowsマシンの場合、dockerがインストールされていればほとんど付いてこられます。

  • IntelliJを使用します。

前提知識

  • Spring

  • JPA


注意事項

  • この講義は注文システムを作る講義ではなく、とても簡単な注文システムを例にMSA環境で活用する分散トランザクションについて学ぶ講義です。

    • 例えば、注文に活用できるペイメントを活用した決済のような機能は扱いません。


こんな方に
おすすめです

学習対象は
誰でしょう?

  • 複数のサービスにまたがる状況で、整合性をどう合わせるか?悩んでいた方

  • MSA環境ではトランザクションをどう管理するか悩んでいた方

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

  • JPA

こんにちは
です。

5,780

受講生

464

受講レビュー

316

回答

4.8

講座評価

3

講座

こんにちは。知識共有者のチェ・サンヨンです。

多くのオープンソースへの寄与経験がある現職のバックエンドエンジニアです。

- Spring Data Mongo Contributor
- querydsl Contributor
- grpc-kotlin Contributor
- ksp Contributor
- mybatis Contributor

カリキュラム

全体

46件 ∙ (5時間 37分)

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

受講レビュー

全体

17件

4.9

17件の受講レビュー

  • dudwodev님의 프로필 이미지
    dudwodev

    受講レビュー 2

    平均評価 5.0

    5

    61% 受講後に作成

    • ison5715님의 프로필 이미지
      ison5715

      受講レビュー 46

      平均評価 4.9

      5

      33% 受講後に作成

      • youngyongjo1618님의 프로필 이미지
        youngyongjo1618

        受講レビュー 2

        平均評価 5.0

        5

        74% 受講後に作成

        • paulmoon008308님의 프로필 이미지
          paulmoon008308

          受講レビュー 111

          平均評価 4.9

          4

          20% 受講後に作成

          • pos041679046님의 프로필 이미지
            pos041679046

            受講レビュー 10

            平均評価 5.0

            5

            100% 受講後に作成

            ¥4,885

            169developer9973の他の講座

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

            似ている講座

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