올리브영, 쿠폰 발급 시스템 개선으로 고객 경험 UP!
by DD
1년 전
조회수 15
RabbitMQ 기반 쿠폰 발급 시스템에서 Direct Exchange 사용으로 12~15시간 소요
Fanout Exchange 도입 및 Trigger Worker 분리하여 발급 시스템 개선
작업 시간 50% 이상 단축 및 안정적인 운영 환경 구축
RabbitMQ Exchange 방식의 이해
RabbitMQ는 메시지 브로커로, Exchange를 통해 메시지를 라우팅한다. Direct Exchange는 특정 Routing Key에 매칭되는 큐로 메시지를 전달한다. 따라서, Fanout Exchange를 사용하면, 모든 바인딩된 큐에 메시지를 복제하여 병렬 처리가 가능하다.
Direct Exchange vs Fanout Exchange
Direct Exchange는 특정 큐로의 메시지 전송에 적합하며, Fanout Exchange는 모든 큐에 메시지를 브로드캐스팅한다. 올리브영은 대량 쿠폰 발급을 위해 Fanout Exchange를 도입하여, 작업 시간 단축과 시스템 안정성을 확보했다. 따라서, 병렬 처리를 통해 성능 향상을 달성했다.
Trigger Worker 분리의 중요성
백오피스에서 대량 발급 작업을 분리하여, Trigger Worker를 도입했다. 백오피스는 발급 요청만 담당하고, 실제 발급은 Trigger Worker가 처리한다. 따라서, 백오피스의 부하를 줄이고, 시스템 안정성을 확보했다. 결과적으로, 고객 경험을 개선했다.