Outbox Pattern이란?
"주문 저장 + Kafka 발행"을 하나의 DB 트랜잭션에 넣는 기법이다. Kafka에 못 썼을 때 발생하는 불일치 방지.
구현
- 비즈니스 데이터 + outbox 테이블 같은 트랜잭션 저장
- 별도 Relay가 outbox를 polling·CDC로 읽어 Kafka 발행
- 발행 완료 시 outbox 삭제
트랜잭션 안에서 DB 저장과 이벤트 발행을 원자적으로 처리하는 패턴. Dual-write 문제 해결.
"주문 저장 + Kafka 발행"을 하나의 DB 트랜잭션에 넣는 기법이다. Kafka에 못 썼을 때 발생하는 불일치 방지.