피드로 돌아가기
컬리의 새로운 배송 시스템 구축 과정과 우리가 배운점
컬리 기술블로그컬리 기술블로그
Backend

컬리의 새로운 배송 시스템 구축 과정과 우리가 배운점

컬리가 SaaS 기반 TMS를 자체 구축 배송 시스템으로 전환하면서 전환 기간 배송 불가 0건·장애 0건 달성

2024년 10월 25일12intermediate

Context

기존 SaaS 기반 TMS(운송관리시스템)는 범용 시스템의 한계로 컬리만의 새벽배송 특성(밤 11시 주문 → 다음날 오전 7시 배송)을 반영하기 어려웠다. 커스터마이징을 위한 회사 간 협업이 필수였고, 성능 제약으로 대규모 조회·다운로드 작업 시 조건을 제한해야 했으며, 배송 모니터링과 분석 작업에서 비효율이 발생했다.

Technical Solution

  • 도메인 분할: 자원 관리 도메인(배송 매니저, 차량)과 운송장 처리 도메인(배송 수행)으로 시스템을 구분해 각 조직의 역할과 책임 명확화
  • 점진적 마이그레이션 아키텍처: 기존 SaaS 시스템과 신규 시스템을 동시 운영하면서 Feature Toggle 방식의 지역 설정 기능으로 단계적 확장
  • 배송 요청 분배: 컬리몰과 TOMS의 Kafka 토픽을 신규 시스템이 동일하게 수신하고 처리 대상 필터링 (협력 시스템 수정 최소화)
  • 데이터 통합 동기화: 기존 시스템의 배송 데이터를 신규 시스템으로 동기화해 배송 트래킹 정보의 일관성 유지
  • 권역 데이터 동일화: 기존 시스템의 권역 데이터를 신규 시스템으로 복제하고 판단 로직 차이는 로깅해 롤백 용이성 확보
  • 스프린트 기반 개발: 4개 마일스톤(각 2~4개 스프린트)으로 구성, 마일스톤 1~2에서 운송장 접수~배송 완료·자원 계획 핵심 기능 구현, 마일스톤 3~4에서 권역 관리·알림 시스템·이슈 처리 등 추가 기능 보강

Impact

전환 기간(약 1개월) 중 배송 불가 0건, 장애 0건 달성. 신규 시스템은 샛별배송을 넘어 하루배송과 컬리나우 배달 서비스로 확장되었으며, 실시간 배송 관제와 간선 운행 관리 등 지속적 개선 진행 중.

Key Takeaway

대규모 시스템 전환에서 기존 시스템과의 동시 운영·점진적 확장 전략은 롤백 가능성과 리스크 최소화를 제공한다. 특히 Feature Toggle을 통한 세분화된 지역 단위 전환과 데이터 통합 동기화는 운영 혼란 없이 안정적 마이그레이션을 가능하게 한다.


수십만 건의 일일 트래잭션을 처리하는 배송·물류 시스템 전환 시, 새로운 시스템이 기존 메시지 토픽을 복제 수신한 후 Feature Toggle로 처리 지역을 제어하면, 외부 시스템 수정 없이 점진적 롤아웃과 즉시 롤백이 가능하다. 동시에 모든 배송 데이터를 신규 시스템으로 통합하면 사용자가 느끼는 일관된 서비스 경험을 보장할 수 있다.

원문 읽기