강의

멘토링

로드맵

Inflearn brand logo image
Programming

/

Back-end

注文システムで理解する分散トランザクション

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

  • 169developer9973
실습 중심
분산트랜잭션
동시성이슈
MSA

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

こんなことが学べます

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

  • 分散トランザクション

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

サービスが成長し複雑になるにつれて、多くの企業は既存のモノリシックアーキテクチャからマイクロサービスアーキテクチャ(MSA)への移行を心配しています。 MSAは、サービス間の独立性とスケーラビリティを確保し、迅速な開発と展開、柔軟な障害対応などを可能にする現代的なアーキテクチャです。しかし、このような移行には、必然的にストロークしなければならない重要な課題があります。これはトランザクションの一貫性と整合性の問題です。

Monolithic環境では、1つのデータベースとトランザクション境界内ですべての処理を実行できたため、トランザクション管理は比較的簡単でした。注文、支払い、在庫など、さまざまなドメインのデータが1つのトランザクションにまとめられ、一貫して処理されました。ただし、MSAに切り替えると、各ドメインが独立したサービスとは別のデータベースに分離されているため、従来のトランザクション処理ではデータの整合性を確保するのが困難な状況が発生します。

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

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

受講後は

  • MonolithicからMSAに切り替えたときに発生するトランザクションの問題について理解しています。

  • 各分散トランザクションパターンの構造、長所と短所、および適用時の考慮事項がわかります。

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

  • Lock を活用した同時実行制御ができます。


受講前の注意

練習環境

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

  • IntelliJを使用してください。

選手の知識

  • Spring

  • JPA


注意事項

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

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

  • 一部の講義(SAGAパターンに関する内容)は8月中にオープン予定で、内容が追加された後は講義価格が変動する場合があります。

こんな方に
おすすめです

学習対象は
誰でしょう?

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

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

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

  • JPA

こんにちは
です。

5,563

受講生

429

受講レビュー

295

回答

4.8

講座評価

3

講座

안녕하세요. 지식공유자 최상용입니다.

많은 오픈소스에 기여한 경험이 있는 현직 백엔드 개발자입니다.

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

カリキュラム

全体

45件 ∙ (5時間 37分)

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

受講レビュー

全体

7件

5.0

7件の受講レビュー

  • afgman4님의 프로필 이미지
    afgman4

    受講レビュー 13

    平均評価 5.0

    5

    31% 受講後に作成

    • jiheon님의 프로필 이미지
      jiheon

      受講レビュー 4

      平均評価 5.0

      5

      100% 受講後に作成

      단점: 예시가 없어 코드 잘못치면 한참 디버깅해야됨 장점 : 그 외 모든것

      • Jay님의 프로필 이미지
        Jay

        受講レビュー 9

        平均評価 5.0

        5

        31% 受講後に作成

        믿고 보는 갓 강의

        • 이정환님의 프로필 이미지
          이정환

          受講レビュー 1

          平均評価 5.0

          5

          62% 受講後に作成

          • 김정환님의 프로필 이미지
            김정환

            受講レビュー 6

            平均評価 5.0

            5

            79% 受講後に作成

            설명과 예시코드가 깔끔해서 너무 좋아요! SAGA 패턴도 얼른 보고 싶습니다!

            ¥4,676

            169developer9973の他の講座

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

            似ている講座

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