
개발/Java2024. 11. 21. 17:23트랜잭션을 위한 SAGA 패턴
개요SAGA 패턴은 마이크로서비스 아키텍처에서 분산 트랜잭션을 관리하기 위한 패턴입니다. 각 서비스의 로컬 트랜잭션을 순차적으로 처리하고, 문제 발생 시 보상 트랜잭션을 통해 일관성을 유지하는 방식으로 동작합니다. 1. 왜 SAGA 패턴이 필요한가?1.1 분산 트랜잭션의 문제점마이크로서비스 아키텍처에서는 하나의 작업이 여러 서비스에 걸쳐 발생하며, 각 서비스는 독립적인 데이터베이스를 가지므로 전통적인 ACID 트랜잭션을 적용하기 어렵습니다. 이로 인해 데이터 일관성을 보장하기 위한 새로운 방법이 필요합니다.1.2 SAGA 패턴의 장점장애 격리 (Failure Isolation): 각 서비스의 로컬 트랜잭션 실패가 전체 시스템에 영향을 최소화.서비스 간 느슨한 결합: 각 서비스는 이벤트나 중앙 오케스트레이..