주문 서비스의 트랜잭셔널 아웃박스 패턴 구현
주문 서비스에서 재고 차감, 쿠폰 검증, 그리고 결제 요청을 처리하는 과정을 트랜잭셔널 아웃박스 패턴을 이용하여 구현하는 방법을 설명하겠습니다.
주문 생성 프로세스 (최종)
- 재고 확인 및 차감
- 쿠폰 검증 및 적용
- 주문 생성
- 아웃박스 테이블에 결제 요청 메시지 작성
- 결제 요청 이벤트 발행(비동기)

1. 문제점
- 주문 설계 처음에는 재고 차감과 쿠폰 검증 후 결제 서비스가 받을 카프카로 메시지 동기 방식으로 보냈습니다.
- 앞선 설계는 카프카가 SPOF로 장애가 발생하거나 메시지가 유실 되는 점이 있습니다.
- 또한 카프카의 동기 방식으로 구현으로 주문 생성하는 시간이 1148ms가 측정 되었습니다.
