핵심 요약
회사 NOL의 주문 시스템은 다수 카테고리 상품을 하나의 통합 주문으로 처리하고, Redis 기반 주문번호 채번과 Kafka 이벤트 전파, Saga 트랜잭션 관리로 안정성과 확장성을 확보했습니다.
구현 방법
- 통합 장바구니로 국내숙박/레저/기차 등 다수 카테고리의 상품을 한 번에 주문하도록 설계
- 주문 프로세스는 주문 준비 → 결제 → 주문 완료의 3단계로 구성하고 카테고리 주문은 공통 인터페이스로 처리
- 주문번호 채번은 Redis 분산 카운터와 날짜 조합으로 고유성 확보
- 쿠폰은 카테고리 주문에서 검증, 포인트는 통합 주문에서 차감
- 결제/할인은 순차 처리하고 실패 시 롤백으로 데이터 일관성 확보
- 주문 완료는 결제 승인, 주문 승인, 주문 전파의 3단계로 진행
- 이벤트 전파는 내부 Kafka로 서비스 간 정보 전달을 효과적으로 수행
주요 결과
- 대규모 트래픽에서도 데이터 일관성 유지
- 장애 시 롤백 및 DLQ 재처리로 복구 가능
- 서비스 간 정보 전달의 효율성 향상



