피드로 돌아가기
Dev.toBackend
원문 읽기
결제 전환율 20% 상승시킨 실시간 배송 추적 시스템 설계
Engineering Real-Time Delivery Tracking That Increased Checkout Conversions by 20%
AI 요약
Context
배송 상태 가시성 부재로 인한 높은 장바구니 이탈률 발생. 수동 업데이트 방식의 한계로 고객 문의 급증 및 운영 효율 저하. GPS 기반의 실시간 추적 체계 부재로 배송 효율 측정 불가.
Technical Solution
- 고빈도 위치 데이터 수집을 위해 Laravel 기반의 Location Reporting 서비스 구축
- Redis Pub/Sub을 활용해 위치 수집(HTTP)과 브로드캐스팅(WebSocket) 계층을 분리한 디커플링 아키텍처 설계
- Google Maps Directions API의 traffic_model=best_guess 옵션을 적용해 실시간 교통 상황이 반영된 ETA 산출
- API 비용 절감을 위해 Haversine 공식으로 거리 변화를 먼저 확인한 후 필요한 경우에만 ETA를 재계산하는 Throttle 로직 구현
- DB 쓰기 부하 90% 감소를 위해 Redis 버퍼링 후 30초 단위로 PostgreSQL에 배치 기록하는 Write-behind 전략 채택
- PostGIS의 ST_DWithin, ST_Distance 공간 쿼리와 캐싱을 조합해 벤더 검색 응답 속도를 50ms 미만으로 최적화
Impact
- 결제 전환율: 68%에서 88%로 20%p 상승
- 주문 취소율: 15%에서 4%로 73% 감소
- 고객 지원 문의: 일평균 200건 이상에서 35건으로 82% 감소
- DB 쓰기 부하: 배치 처리 도입으로 90% 절감
- 공간 쿼리 응답 속도: 50ms 미만 달성
Key Takeaway
데이터 수집과 전달의 성능 프로필이 다를 경우 메시지 브로커를 통해 계층을 분리하여 독립적 스케일링 구조를 확보해야 함. 비싼 외부 API 호출은 도메인 로직 수준의 필터링을 통해 최소화하는 전략이 필수적임.
실천 포인트
고빈도 쓰기 작업 발생 시 DB 직접 기록 대신 Redis 버퍼링 후 배치 업데이트를 적용하여 I/O 부하를 관리할 것