모놀리식 아키텍처와 달리 MSA 환경에서는 서비스마다 DB가 분리되어 있다. 그래서 서로 다른 DB에서 처리하는 여러 작업을 하나의 트랜잭션으로 묶을 수 없다. 그래서 MSA 환경에서는 이런 문제점을 해결하기 위해 2PC, TCC, Saga 패턴 같은 기법을 활용한다.
✅ 2PC 패턴? TCC 패턴? SAGA 패턴?
MSA를 공부하다보면 MSA 환경에서 트랜잭션을 처리하기 위한 패턴이 크게 3가지가 나온다.
2PC 패턴
TCC 패턴
Saga 패턴
하지만 실무에서는 2PC나 TCC 패턴은 잘 사용하지 않는다. 따라서 이번 강의에서는 Saga 패턴만 배워볼 것이다.
“선생님, 2PC 패턴이랑 TCC 패턴도 배워야 되는 거 아닌가요? 저걸 빠트리니까 너무 불안한데요…?”
OT에서 얘기했던 파레토 법칙을 잘 기억하자. MSA에서 언급하는 모든 기술을 익히려고 덤볐다가는, MSA를 학습하는 데 1년이 넘게 걸릴 것이다. MSA에서 자주 쓰는 내용만 익혀도 정말 배울 내용이 많다.
그래서 실전에서 MSA를 빠르게 적용시킬 수 있게 학습하려면, 실무에서 자주 사용하는 내용 위주로 배워야 한다. 그리고 MSA를 처음 공부할 때는 개념을 일일이 깊이 있게 파헤치는 것보다, 핵심 개념들 위주로 빠르게 학습해 MSA 구조로 프로젝트를 직접 구현해보면서 전체 흐름을 느껴보는 게 중요하다.
이렇게 배워야 MSA에 금방 익숙해질 수 있다. 지엽적인 내용은 나중에 MSA 핵심 개념들이 어느 정도 익숙해진 다음에 천천히 익혀도 늦지 않다.