분산 마이크로서비스 환경에서 데이터 정합성을 보장하는 사가(Saga) 패턴과 보상 트랜잭션 설계
모놀리식 아키텍처가 독립된 분산 데이터베이스를 가진 마이크로서비스로 분할되면서 엔지니어가 마주하는 가장 까다로운 난제는 단일 물리 트랜잭션(ACID)의 상실과 분산 데이터 정합성 유지입니다. 전통적인 분산 트랜잭션 프로토콜인 2단계 커밋(2PC, Two-Phase Commit)이나 XA 트랜잭션은 모든 참여 노드가 락(Lock)을 획득하고 응답할 때까지 대기해야 하므로, 네트워크 지연(Latency)과 단일 장애점(SPOF)으로 인해 고가용성 현대 클라우드 시스템에는 적합하지 않습니다. 본 글에서는 로컬 트랜잭션의…