목록 보기
배송최적화 시스템 구축기 Part 02. 복잡한 비즈니스 로직에 유연한 디자인 패턴 입히기
아키텍처

배송최적화 시스템 구축기 Part 02. 복잡한 비즈니스 로직에 유연한 디자인 패턴 입히기

올리브영
올리브영
2026년 9월 4일

두줄요약

복잡한 배송 센터 결정 로직을 전략 패턴과 컴포지트로 분리해 확장성과 유지보수성을 높였습니다. DB 기반 룰 On/Off와 실행 순서 제어로 배포 없이 정책 변경과 성능 최적화도 가능하게 했습니다.

문제 상황

  • 배송 센터 결정 로직이 권역, 배송 타입, 택배사, 재고, CAPA 등 복합 조건으로 얽혀 if-else 중첩과 테스트 경우의 수 증가 문제 발생
  • 새로운 배송 규칙이나 정책 변경이 자주 생길 수 있어, 기존 코드 수정이 잦은 구조로는 유지보수와 확장성 확보가 어려운 상황

원인 분석

  • 단일 분기 로직으로는 여러 조건을 독립적으로 다루기 어렵고, 조건 추가 시 사이드 이펙트 범위가 커짐
  • 후보군 추리기와 최종 결정하기가 하나의 책임으로 섞여 있어 로직 분리가 필요함

해결 방법

  • 선택 전략과 결정 전략을 분리하고, 여러 Selection 전략을 Composite로 조합해 하나의 흐름으로 실행
  • 전략 활성화 여부를 DB로 제어해 코드 수정 없이 룰 On/Off 가능하도록 구성
  • 전략 실행 순서를 조정하고 조기 종료 상태를 두어 비싼 외부 API 호출을 뒤로 미루고 불필요한 연산 절감

다음 읽기

같은 회사의 연관 글

배송최적화 시스템 구축기 Part 01. 올리브영이 멀티 센터 체제로 배송 시간을 14시간 단축한 과정

멀티 센터 전환에 맞춰 배송최적화 시스템을 도입하고 주문분배·이관을 자동화했습니다. 그 결과 배송 리드타임을 평균 14시간 단축하고 운영 개입을 크게 줄였습니다.

올리브영
올리브영
백엔드

댓글 0

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...