분산 배치와 비동기 큐의 데이터 유실을 방지하는 트랜잭셔널 아웃박스(Transactional Outbox) 패턴 설계
배치 자동화 시스템이나 마이크로서비스 백엔드에서 비즈니스 로직을 처리한 뒤 외부 메시지 큐(RabbitMQ, Kafka, Redis Streams)나 서드파티 웹훅으로 이벤트를 발행하는 파이프라인은 매우 흔한 구조입니다. 하지만 이 과정에서 엔지니어가 가장 빈번하게 마주치는 치명적인 결함은 바로 이중 쓰기(Dual-Write) 불일치 문제입니다. 데이터베이스 트랜잭션과 메시지 브로커 전송은 서로 다른 물리적 리소스이므로, 단일 로컬 트랜잭션으로 원자성(Atomicity)을 보장할 수 없습니다. DB 커밋…