Descripción general del proyecto
Motorush es una aplicación de transporte compartido y despacho al estilo de Uber, que requiere un emparejamiento preciso de pasajeros y conductores cercanos. El sistema se basa en la transmisión de ubicación en tiempo real, indexación espacial para un cálculo rápido del radio de búsqueda de conductores y consistencia transaccional para los flujos de reserva.
Logros técnicos
1. Indexación espacial con cuadrícula Uber H3
Calcular métricas de distancia de latitud y longitud sin procesar en miles de conductores activos es costoso a nivel computacional.
- Implementación de la indexación de cuadrícula espacial Uber H3 para dividir las áreas geográficas en celdas hexagonales.
- Almacenamiento de las coordenadas de ubicación del conductor en un índice geoespacial Redis asignado a celdas H3 activas.
- Reducción de las latencias de búsqueda de conductores cercanos en un 85%, garantizando tiempos de consulta inferiores a 15ms durante solicitudes de despacho de alta concurrencia.

2. Controlador de despacho de alta disponibilidad
- Construcción de un motor de estado en tiempo real en Node.js para administrar las transiciones de estado del viaje (por ejemplo, emparejando, aceptado, en curso, completado).
- Aprovechamiento de pipelines de transacciones de Redis para manejar solicitudes de viaje simultáneas y evitar el doble despacho del mismo conductor.
- Delegación del procesamiento de pagos y registro de facturas a colas de Laravel en segundo plano, preservando las velocidades de respuesta de la transacción principal.