쿠폰 발급, RabbitMQ로 더욱 안정적으로!
by DD
2년 전
조회수 12
Redis Worker의 확장성 및 안정성 문제를 해결하기 위해 RabbitMQ를 도입
RabbitMQ와 Kafka 비교 분석 후, 유연한 구조를 위해 RabbitMQ 선택
RabbitMQ 도입으로 세일 기간 쿠폰 발급 안정성 확보 및 대량 발급 처리 시간 단축
RabbitMQ vs Kafka: 쿠폰 발급 시스템에 적합한 MQ는?
쿠폰 발급 시스템에서 RabbitMQ와 Kafka를 비교 분석하여, 각 MQ의 장단점을 파악했다. Kafka는 대용량 데이터 처리에 강점을 가지지만, 쿠폰 발급 시스템의 유연한 확장에 적합하지 않았다. 따라서 RabbitMQ를 선택하여, 세일 기간과 같은 이벤트에 유연하게 대응할 수 있도록 했다.
RabbitMQ 도입, 아키텍처 변화와 성능 개선
기존 Redis Worker 기반의 쿠폰 발급 시스템에서 RabbitMQ를 도입하면서, 아키텍처가 변화했다. RabbitMQ의 Concurrency를 활용하여, 쿠폰 발급 처리 로직을 간소화했다. 결과적으로, 세일 행사 기간의 과도한 요청 처리 문제를 해결하고, 대량 쿠폰 발급 처리 시간을 단축했다.
RabbitMQ 설정 및 운영 노하우
RabbitMQ를 쿠폰 발급 시스템에 적용하기 위해, prefetch와 Concurrency 설정을 최적화했다. 또한, Direct Exchange 방식을 채택하여 메시지 라우팅을 효율적으로 구성했다. 따라서, 메시지 처리량 증가에도 안정적인 성능을 유지하며, 쿠폰 발급 시스템의 확장성을 확보했다.