피드로 돌아가기
올리브영 테크블로그Backend
원문 읽기
올리브영 물류시스템에서는 데이터를 어떻게 주고 받을까?
올리브영이 온라인몰-물류센터 데이터 전송을 EAI에서 MQ로 전환해 출하지시 처리 지연을 9분에서 즉시 처리로 개선
AI 요약
Context
올리브영은 온라인몰과 물류센터 간 데이터 전송에 EAI I/F(DB 기반 배치 방식)를 사용하고 있었다. 배치 주기로 인한 최대 10분의 지연 발생과 단일 EAI 어댑터 장애 시 전체 시스템 중단이라는 치명적 의존성이 존재했다.
Technical Solution
- 메시지 큐(MQ) 도입: 기존 DB 배치 방식을 MQ의 발행-구독 패턴으로 전환
- 실시간 전송 구현: EAI의 배치 주기(5분) 제거로 주문 즉시 출하지시 메시지 생산
- 토픽 기반 분리: 출하지시 토픽과 출하확정 토픽을 별도로 구성해 데이터 흐름 단순화
- 아키텍처 분리: EAI 어댑터 의존성 제거로 한 시스템 장애가 다른 시스템에 전파되지 않도록 격리
- 대용량 처리 설계: 현재 최대 트래픽의 2~3배 수용 가능한 큐 용량 구성
Impact
- 출하지시 전송 지연: 최대 9분(배치 주기 누적) → 즉시 처리
- 6월 올영세일(EAI) vs 9월 올영세일(MQ) 비교에서 밤 12시 피크 타임 주문 처리: 새벽까지 분산 처리 → 즉시 완료
- DB 메시지 처리 속도: 삽입/조회 방식 → 큐 기반 메시지 발행/소비로 데이터 이동 속도 향상
Key Takeaway
배치 기반 비동기 통신에서 메시지 큐 기반 이벤트 주도 아키텍처로 전환하면, 주기적 지연을 제거하고 시스템 간 독립성을 확보하는 동시에 대용량 트래픽 대비가 가능하다. 다만 MQ의 특성상 과거 데이터 검색과 디버깅은 DB 기반 시스템보다 제약이 있으므로 로깅 및 모니터링 전략을 사전에 수립해야 한다.
실천 포인트
배치 주기 지연이 있는 레거시 EAI 기반 시스템에서 운영하는 팀은, 실시간 처리와 대용량 트래픽 요구사항이 함께 있을 때 메시지 큐(Kafka, RabbitMQ 등)로의 마이그레이션을 검토하되, 운영 중 메시지 추적과 상태 검증을 위한 모니터링 시스템을 동시에 구축해야 한다.