[아키텍처] MSA 데이터 일관성 문제, SAGA 패턴으로 해결하기
·
아키텍처
마이크로서비스 아키텍처(MSA)를 도입할 때 가장 먼저 마주치는 기술적 난관 중 하나는 바로 데이터 일관성(Data Consistency) 문제이다.모놀리식 환경에서는 하나의 데이터베이스에서 ACID 트랜잭을 통해 일관성을 보장 받았지만, MSA에서는 "Database per Service" 패턴으로 인해 데이터가 여러 서비스에 분산되어 있다.분산 환경에서 데이터 일관성을 유지하기 위한 전통적인 방법과, 현대적인 해결책인 SAGA 패턴에 대해 알아보자.1. 2PC (Two-Phase Commit)과거 분산 데이터베이스 환경에서 주로 사용된 방법으로,코디네이터(Coordinator)가 모든 참여자(Participants)의 트랜잭션 준비 상태를 확인하고 트랜잭션 커밋/롤백을 결정하는 방식 1단계: Pre..