사가 패턴: 마이크로서비스 아키텍처의 분산 트랜잭션
기존의 모놀리식 애플리케이션에서는 여러 엔터티에서 데이터 일관성을 유지하는 것이 간단합니다. 관계형 데이터베이스 엔진은 로컬 SQL 트랜잭션 내에 포함된 ACID(원자성, 일관성, 격리, 내구성) 보장을 제공합니다. 주문, 지불 공제 또는 재고 예약이 중간에 실패하는 경우 ROLLBACK을 호출하면 모든 데이터베이스 수정 사항이 즉시 되돌려집니다.
그러나 최신 마이크로서비스 아키텍처로 마이그레이션하면 데이터 관리가 근본적으로 변화합니다. 도메인 자율성과 독립적인 확장성을 보장하기 위해 각 마이크로서비스는 전용 데이터베이스를 소유합니다. 전자상거래 결제 처리와 같은 단일 비즈니스 작업은 이제 여러 서비스 경계와 데이터베이스 엔진(예: 주문용 PostgreSQL, 결제용 DynamoDB, 재고용 Redis)에 걸쳐 있습니다.
Microservices
Saga Pattern
Distributed Transactions
Event-Driven Architecture
Kafka
Orchestration
Choreography
System Design