피드로 돌아가기
Dev.toBackend
원문 읽기
PostGIS 기반 실시간 Dispatch 시스템으로 배차 시간 8분에서 22초로 단축
How We Built a Sober Driver Booking System in Moldova: Real-time Dispatch with Node.js, Supabase & Vercel
AI 요약
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 조합 활용