#Backend

옴니채널 재고 정합성 한계에 대응하는 인벤토리 데이터 파이프라인 구축기

옴니채널 재고 정합성 한계에 대응하는 인벤토리 데이터 파이프라인 구축기
01

Summary

올리브영이 1,200만 건의 재고 데이터를 '실시간'으로 요리하는 법

Spring Batch와 Kafka Fan-out으로 완성한 초고속 옴니채널 인벤토리 파이프라인 구축기

대한민국 대표 옴니채널 올리브영이 대규모 트래픽 속에서도 재고 정합성을 지키기 위해 수행한 아키텍처 개편 과정을 담고 있습니다. 레거시 프로시저와 동기식 파이프라인의 한계를 극복하고, Spring Batch Partitioning과 이벤트 기반 아키텍처(EDA)를 통해 데이터 처리 속도와 시스템 안정성을 동시에 잡은 기술적 여정을 소개합니다.

  • 011,400개 매장, 1,200만 건의 기초재고 생성 시간을 50% 단축시킨 병렬 처리 전략
  • 022만 라인의 복잡한 DB 프로시저를 Spring Batch 코드로 전면 개편하여 클린 코드 구현
  • 03Amazon MWAA(Airflow)를 활용한 안정적이고 자동화된 재고 정산 워크플로 구축
  • 04Kafka Fan-out 구조를 도입하여 단일 파이프라인의 동기식 병목 현상 완전 해소
  • 05Pull 방식 API의 한계를 극복하기 위한 이벤트 기반 데이터 전송 체계로의 전환

RECOMMENDATION

대규모 데이터의 실시간 정합성이 중요한 커머스 엔지니어나, 레거시 일괄 처리 시스템을 modern-batch 환경으로 마이그레이션하려는 백엔드 개발자에게 적극 추천합니다.

The Problem

올리브영의 기존 인벤토리 시스템은 트래픽 증가에 따라 기초재고 생성 리드타임이 늘어나고, 단일 파이프라인 내 동기식 적재 구조로 인해 특정 모델의 지연이 전체 시스템으로 전파되는 병목 현상을 겪었습니다. 또한, 모든 서비스가 단일 API를 통한 Pull 방식으로 재고를 조회하면서 불필요한 오버헤드와 Read 부하가 가중되었습니다.

The Solution

기초재고 생성을 Spring Batch Partitioning을 통해 병렬화하고 Amazon MWAA로 워크플로를 자동화했습니다. 또한, 단일 파이프라인 구조에서 탈피하여 Kafka Fan-out 전략을 기반으로 한 이벤트 기반 아키텍처(EDA)로 전환하여 데이터 모델 간 결합도를 낮추고 처리 효율을 높였습니다.

The Result

기초재고 생성 시간이 평균 50분에서 25분으로 50% 단축되었으며, 약 2만 라인 규모의 레거시 프로시저를 전면 제거하여 유지보수성을 확보했습니다. 시스템 간 결합도가 낮아지면서 특정 데이터 모델의 지연이 전체 파이프라인에 영향을 주지 않도록 안정성이 강화되었습니다.

Trade-off

EDA 도입으로 시스템 간 정합성을 보장하기 위한 이벤트 추적 및 모니터링 복잡도가 증가했으며, 분산된 데이터 모델 간의 최종 일관성을 유지하기 위한 별도의 관리 비용이 발생할 수 있습니다. 또한, 기존 프로시저를 코드로 전환하는 과정에서 초기 개발 및 검증에 상당한 자원이 투입되었습니다.

03

Key Concepts

Concept · 01

Spring Batch Partitioning

대량의 데이터를 처리할 때 마스터 스텝이 데이터를 여러 개의 파티션으로 나누고, 여러 워커 스텝이 독립적으로 병렬 처리하는 방식입니다.

  • 매장 그룹을 파티션 키로 사용하여 1,400여 개 매장의 재고 데이터를 병렬로 생성
  • 기존 단일 스레드 방식 대비 처리 속도를 50% 이상 개선하는 핵심 기술로 활용
Concept · 02

Kafka Fan-out

하나의 입력 이벤트를 여러 개의 독립적인 컨슈머 그룹이 각자의 목적에 맞게 병렬적으로 소비하여 처리하는 메시징 패턴입니다.

  • 매장재고, 시계열재고, 품절여부 등 서로 다른 데이터 모델을 독립적인 파티션으로 분리
  • 특정 데이터 적재 지연이 타 모델에 영향을 주지 않는 결합도 낮은 아키텍처 구현
Concept · 03

Amazon MWAA

Managed Workflows for Apache Airflow의 약자로, 클라우드에서 워크플로 오케스트레이션을 쉽게 관리하고 확장할 수 있게 해주는 관리형 서비스입니다.

  • 기초재고 생성 파이프라인의 전체 워크플로를 코드로 관리하고 스케줄링 자동화
  • AWS Batch 환경과의 통합을 통해 안정적인 배치 작업 실행 환경 구축