
실습으로 배우는 선착순 이벤트 시스템
최상용
선착순 이벤트 시스템을 구현할 때 어떤 문제가 발생할 수 있고 어떻게 해결할 수 있는지 배워봅니다.
초급
Spring Boot, Java, Docker





카카오
임직원들도 이 강의를 듣고 있어요!





카카오
임직원들도 이 강의를 듣고 있어요!
먼저 경험한 수강생들의 후기
5.0
Bruce Han
커머스를 아예 모르는 상태로 사이드 프로젝트를 했는데요. 이 강의 덕분에 특히 제일 어려워 보이는 주문에 대해 어떻게 구현해줘야 할지 이해가 되어서 좋았습니다.
5.0
HJ
정말 나만 보고싶은 강의..
5.0
SPRING
주요 분산 트랜잭션이 어떤 식으로 구현되는지 잘 보았습니다
MSA 환경에서 트랜잭션을 제어하는 방법
분산트랜잭션
서비스가 성장하고 복잡해짐에 따라 많은 기업들은 기존의 모놀리식(Monolithic) 아키텍처에서 마이크로서비스 아키텍처(MSA)로의 전환을 고민하게 됩니다. MSA는 서비스 간의 독립성과 확장성을 보장하며, 빠른 개발과 배포, 유연한 장애 대응 등을 가능하게 하는 현대적인 아키텍처입니다. 그러나 이러한 전환에는 반드시 짚고 넘어가야 할 중요한 과제가 있습니다. 바로 트랜잭션의 일관성과 정합성 문제입니다.
Monolithic 환경에서는 하나의 데이터베이스와 트랜잭션 경계 안에서 모든 처리를 수행할 수 있었기 때문에 트랜잭션 관리가 상대적으로 간단했습니다. 주문, 결제, 재고 등 다양한 도메인의 데이터가 하나의 트랜잭션으로 묶여 일관성 있게 처리되었죠. 그러나 MSA로 전환하면서 각 도메인이 독립된 서비스와 별도의 데이터베이스로 분리되면서, 기존 방식의 트랜잭션 처리로는 데이터 정합성을 보장하기 어려운 상황이 발생합니다.
이 강의에서는 단일 트랜잭션으로는 해결할 수 없는 MSA 환경에서의 트랜잭션 문제를 어떻게 해결할 수 있을지, 분산 트랜잭션 패턴인 2PC, TCC, 그리고 SAGA 에 대해 학습합니다.
특히 이 강의는 단순한 이론 설명에 그치지 않고, 주문 서비스를 중심으로 Monolithic 구조에서 시작해, MSA 환경으로 전환하며 실제로 어떤 문제들이 발생하는지, 그리고 이를 각 패턴을 통해 어떻게 해결할 수 있는지를 구체적인 흐름도, 예제 코드, 실무 적용 팁과 함께 설명합니다.
Monolithic에서 MSA로 전환할 때 발생하는 트랜잭션 문제에 대한 이해합니다.
각 분산 트랜잭션 패턴의 구조, 장단점, 적용 시 고려사항을 알 수 있습니다.
실무에서 트랜잭션 정합성을 확보하기 위한 설계 전략을 알 수 있습니다.
Lock 을 활용한 동시성 제어를 할 수 있습니다.
강의는 MacOS 기준으로 설명합니다. 윈도우 머신이라면 docker가 설치되어 있다면 대부분 따라오실 수 있습니다.
IntelliJ 를 사용합니다.
Spring
JPA
이 강의는 주문시스템을 만드는 강의가 아닌 아주 간단한 주문시스템을 예제로 MSA 환경에서 활용하는 분산트랜잭션에 대해서 알아보는 강의입니다.
예를들어 주문에 활용될 수 있는 페이먼츠를 활용한 결제와 같은 기능을 다루지 않습니다.
학습 대상은
누구일까요?
여러 서비스에 걸쳐있는 상황에서 정합성을 어떻게 맞출까? 고민하던 분
MSA 환경에서는 트랜잭션을 어떻게 관리할지 고민하던 분
선수 지식,
필요할까요?
Spring
JPA
5,939
명
수강생
494
개
수강평
320
개
답변
4.8
점
강의 평점
3
개
강의
안녕하세요. 지식공유자 최상용입니다.
많은 오픈소스에 기여한 경험이 있는 현직 백엔드 개발자입니다.
- Spring Data Mongo Contributor
- querydsl Contributor
- grpc-kotlin Contributor
- ksp Contributor
- mybatis Contributor
전체
46개 ∙ (5시간 37분)
전체
24개
5.0
24개의 수강평
수강평 13
∙
평균 평점 5.0
수정됨
수강평 104
∙
평균 평점 4.5
수강평 5
∙
평균 평점 5.0
수강평 3
∙
평균 평점 4.0
수강평 94
∙
평균 평점 4.9
지식공유자님의 다른 강의를 만나보세요!
같은 분야의 다른 강의를 만나보세요!