728x90
반응형

TCC 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

분산 트랜잭션 솔루션(XA, Saga 등)

개요분산 트랜잭션은 여러 데이터베이스나 마이크로서비스에 걸쳐 일관된 상태를 유지해야 할 때 사용하는 트랜잭션 처리 방식입니다. 전통적인 단일 데이터베이스 트랜잭션과는 달리, 분산 시스템에서는 네트워크 지연, 장애, 데이터 소스 간 이질성 등으로 인해 트랜잭션 일관성을 보장하는 것이 매우 어렵습니다. 이에 따라 XA(2-Phase Commit), Saga, TCC(Try-Confirm-Cancel) 등 다양한 분산 트랜잭션 솔루션이 등장했습니다. 이 글에서는 각 방식의 개념, 동작 원리, 비교 분석, 적용 사례를 소개합니다.1. 개념 및 정의분산 트랜잭션은 **둘 이상의 시스템(데이터베이스, 서비스 등)**이 참여하여 하나의 논리적 작업 단위를 이루는 트랜잭션입니다. ACID(Atomicity, Consi..

Topic 2025.03.27
728x90
반응형