통합 장바구니 시스템을 통해 여러 카테고리의 상품을 한 번에 주문 가능하도록 구현
Redis 분산 카운터를 활용하여 고유한 주문번호를 생성하고, Kafka를 통해 주문 정보를 전파
Saga 패턴 기반의 분산 트랜잭션 관리로 데이터 일관성 및 장애 복구 보장
NOL 주문 시스템은 마이크로서비스 아키텍처를 기반으로 구축되어 각 서비스가 독립적으로 운영된다. 구체적으로 통합 장바구니를 통해 여러 카테고리 상품을 묶어 주문 가능하게 설계되었다. 따라서 주문 준비, 결제, 주문 완료의 3단계 프로세스를 거쳐 안정적인 주문 처리를 지원한다.
NOL은 Saga 패턴을 활용하여 분산 트랜잭션 문제를 해결한다. 상태 기록 → 순차 실행 → 선택적 보상 패턴을 통해 데이터 일관성을 유지한다. 반면, 서비스 전면 장애 시에는 롤백 과정의 오류를 방지하기 위해 DLQ를 활용하여 재처리를 시도한다.
주문 정보 전파를 위해 Kafka 클러스터를 활용하여 이벤트 기반 아키텍처를 구축했다. 구체적으로, 각 서비스는 필요한 정보를 구독하여 사용하고, 주문 완료 시 이벤트를 발행한다. 따라서 서비스 간 결합도 감소와 확장성 확보를 동시에 달성했다.