피드로 돌아가기
How We Built a Sober Driver Booking System in Moldova: Real-time Dispatch with Node.js, Supabase & Vercel
Dev.toDev.to
Backend

PostGIS 기반 실시간 Dispatch 시스템으로 배차 시간 8분에서 22초로 단축

How We Built a Sober Driver Booking System in Moldova: Real-time Dispatch with Node.js, Supabase & Vercel

Lilian2026년 4월 26일9intermediate

Context

법적 규제 강화로 인한 급격한 수요 증가로 기존 WhatsApp 및 Excel 기반의 수동 배차 시스템에서 심각한 병목 발생. 피크 시간대 요청량이 3~5배 증가하며 실시간 GPS 추적과 자동 배차가 필수적인 상황 직면.

Technical Solution

  • PostGIS 확장 기능을 활용한 GEOGRAPHY 타입 데이터 모델링으로 지리적 쿼리 최적화
  • GIST 인덱스를 적용한 current_location 검색을 통해 5km 반경 내 가용 드라이버를 3~8ms 내로 식별하는 고성능 쿼리 구현
  • Supabase Realtime WebSockets를 도입하여 별도의 폴링 없이 고객에게 실시간 ETA 및 드라이버 위치 업데이트 제공
  • Vercel Edge Functions 기반의 Serverless 아키텍처 채택으로 전 세계 어디서든 100ms 미만의 응답 속도 확보
  • Next.js 14 App Router와 Supabase Auth 통합을 통한 빠른 MVP 개발 및 인프라 관리 비용 최소화

Impact

  • 평균 배차 시간: 8분 이상(수동) → 22초(자동)로 획기적 단축
  • 인프라 비용: MVP 단계 월 $40에서 스케일업 후 월 $180 수준의 저비용 유지
  • 서비스 효율: 예약 건당 인프라 비용 약 $0.12 달성 및 드라이버 유지율 85% 기록

Key Takeaway

특수 목적의 로컬 서비스 구축 시 복잡한 엔터프라이즈 패턴보다 PostGIS와 같은 특화된 DB 기능과 Serverless 스택을 조합하여 개발 속도와 성능을 동시에 확보하는 전략이 유효함.


- 위치 기반 서비스 설계 시 단순 위경도 저장 대신 PostGIS의 GEOGRAPHY 타입과 GIST 인덱스 검토 - 실시간 업데이트 요구사항이 높을 경우 WebSocket 기반의 Realtime DB 솔루션 도입 고려 - 초기 스타트업 단계에서는 관리 포인트 감소를 위해 Backend-as-a-Service(BaaS)와 Edge Runtime 조합 활용

원문 읽기