728x90
반응형

분산 트랜잭션 2

TCC (Try-Confirm/Cancel)

개요TCC(Try-Confirm/Cancel)는 분산 시스템 환경에서 데이터 정합성과 원자성을 보장하기 위한 보상형 트랜잭션 관리 패턴입니다. 2PC(Two-Phase Commit)보다 더 유연하고 비동기적인 방식으로, 마이크로서비스 아키텍처, 금융 시스템, 재고/결제 처리 등에서 많이 활용됩니다. TCC는 각 서비스가 로컬 트랜잭션을 기반으로 사전 점유(Try), 확정(Confirm), 취소(Cancel) 단계를 수행합니다.1. 개념 및 정의TCC는 각 서비스가 자체적으로 준비, 확정, 취소에 해당하는 세 가지 인터페이스를 갖도록 하여 트랜잭션을 분산 처리합니다.Try: 자원을 확보하거나 잠금 처리 (예: 재고 감소 예정)Confirm: 확정 수행, 실제 데이터 반영 (예: 결제 승인)Cancel: 취..

Topic 2025.06.02

Saga Pattern

개요Saga 패턴은 마이크로서비스 아키텍처에서 데이터 일관성을 유지하기 위한 분산 트랜잭션 처리 전략입니다. 전통적인 2단계 커밋(Two-Phase Commit)의 복잡성과 결합도를 피하고, 각 서비스가 독립적으로 자신의 로컬 트랜잭션을 실행하고 상호 간 보상(Compensation) 방식으로 롤백을 구현함으로써 장애 복원력과 유연성을 높이는 설계 방식입니다.1. 개념 및 정의Saga Pattern은 하나의 트랜잭션을 여러 마이크로서비스의 로컬 트랜잭션 시퀀스로 분할하여 관리하고, 중간에 실패 시 이전 단계에 대해 보상 트랜잭션을 수행하는 구조입니다.Atomicity 보장 방식: 전체 실패 시 보상 트랜잭션으로 논리적 롤백일관성 처리 방식: Eventually Consistent (최종적 일관성)주요 유..

Topic 2025.05.06
728x90
반응형