Distributed Transactions through an Order System

Learn about consistency issues encountered in MSA environments and their solutions.

(4.9) 18 reviews

300 learners

Level Basic

Course period Unlimited

MSA
MSA
MSA
MSA

Reviews from Early Learners

4.9

5.0

SPRING

100% enrolled

I have enjoyed seeing how the major distributed transactions are implemented.

5.0

JinSung Hwang

100% enrolled

Thank you for creating such a great lecture~! I only knew the keyword about distributed transactions and didn't really understand the content, but thanks to this lecture, I was able to learn a lot. The lecture didn't just cover theoretical content, but also shared real-world situations you might encounter in practice and the corresponding solution know-how, which made it really enjoyable to watch! It was great that I got a sense of how to actually apply it in practice. Thank you so much for such a wonderful lecture!!!

5.0

jiheon

100% enrolled

Disadvantages: No examples provided, so if you make a coding mistake, you'll have to spend a long time debugging Advantages: Everything else

What you will gain after the course

  • MSA Environment Transaction Control

  • Distributed Transaction

Transitioning from Monolithic to MSA and Distributed Transactions

As services grow and become more complex, many companies find themselves considering a transition from traditional Monolithic architecture to Microservices Architecture (MSA). MSA is a modern architecture that ensures independence and scalability between services, enabling rapid development and deployment, as well as flexible failure response. However, this transition comes with important challenges that must be addressed. That is the issue of transaction consistency and integrity.

In a monolithic environment, transaction management was relatively simple because all processing could be performed within a single database and transaction boundary. Data from various domains such as orders, payments, and inventory were bundled into one transaction and processed consistently. However, with the transition to MSA, each domain is separated into independent services with separate databases, creating a situation where it becomes difficult to guarantee data consistency with traditional transaction processing methods.

In this lecture, we learn about how to solve transaction problems in MSA environments that cannot be resolved with single transactions, focusing on distributed transaction patterns: 2PC, TCC, and SAGA.

In particular, this course doesn't stop at simple theoretical explanations, but centers around an order service, starting from a Monolithic structure and transitioning to an MSA environment to show what problems actually occur in practice, and how these can be solved through each pattern, explained with specific flowcharts, example code, and practical application tips.

After taking the course

  • I understand the transaction issues that occur when transitioning from Monolithic to MSA.

  • You can learn about the structure, advantages and disadvantages, and considerations for applying each distributed transaction pattern.

  • You can learn design strategies for ensuring transaction consistency in real-world applications.

  • You can control concurrency using Lock.


Pre-enrollment Reference Information

Practice Environment

  • The course is explained based on MacOS. If you're using a Windows machine, you should be able to follow along for the most part as long as Docker is installed.

  • I use IntelliJ.

Prerequisites

  • Spring

  • JPA


Precautions

  • This course is not a course on building an order system, but rather a course that explores distributed transactions used in MSA environments using a very simple order system as an example.

    • For example, it does not cover features such as payment processing using payments that could be utilized for orders.


Recommended for
these people

Who is this course right for?

  • A person pondering how to ensure consistency across multiple services.

  • Someone contemplating how to manage transactions in an MSA environment

Need to know before starting?

  • Spring

  • JPA

Hello
This is 169developer9973

5,849

Learners

477

Reviews

318

Answers

4.8

Rating

3

Courses

Hello. I am Sangyong Choi, your knowledge sharer.

I am a current backend developer with experience contributing to many open-source projects.

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

More

Curriculum

All

46 lectures ∙ (5hr 37min)

Published: 
Last updated: 

Reviews

All

18 reviews

4.9

18 reviews

  • hwan202028583님의 프로필 이미지
    hwan202028583

    Reviews 6

    Average Rating 5.0

    5

    79% enrolled

    The explanations and example code are so clean and great! I can't wait to see the SAGA pattern too!

    • jiheon22344564님의 프로필 이미지
      jiheon22344564

      Reviews 5

      Average Rating 5.0

      5

      100% enrolled

      Disadvantages: No examples provided, so if you make a coding mistake, you'll have to spend a long time debugging Advantages: Everything else

      • devjinsung님의 프로필 이미지
        devjinsung

        Reviews 12

        Average Rating 5.0

        Edited

        5

        100% enrolled

        Thank you for creating such a great lecture~! I only knew the keyword about distributed transactions and didn't really understand the content, but thanks to this lecture, I was able to learn a lot. The lecture didn't just cover theoretical content, but also shared real-world situations you might encounter in practice and the corresponding solution know-how, which made it really enjoyable to watch! It was great that I got a sense of how to actually apply it in practice. Thank you so much for such a wonderful lecture!!!

        • shortcoding님의 프로필 이미지
          shortcoding

          Reviews 11

          Average Rating 5.0

          5

          31% enrolled

          A trusted god-tier lecture

          • s1121238291님의 프로필 이미지
            s1121238291

            Reviews 87

            Average Rating 4.9

            5

            100% enrolled

            I have enjoyed seeing how the major distributed transactions are implemented.

            Similar courses

            Explore other courses in the same field!