Descripción general del proyecto
Actitrack es una plataforma de software como servicio (SaaS) de geolocalización diseñada para el seguimiento de flotas en vivo, la reproducción de rutas y la gestión de personal. El proyecto requería manejar actualizaciones constantes de ubicación de miles de clientes móviles activos y entregar actualizaciones de mapas en tiempo real a los paneles de administración con latencia inferior al segundo.
Logros técnicos
1. Architecture Backend Híbrida
Para manejar una alta ingesta de escrituras sin sobrecargar el servidor de aplicaciones principal:- Diseño de un API Gateway utilizando Laravel para administrar la autenticación de usuarios, facturación, acceso al panel y APIs de búsqueda histórica.
- Creación de un microservicio de ingesta especializado de alto rendimiento en Go para manejar conexiones WebSocket y procesar flujos de telemetría de ubicación.
- Logro de una ingesta estable de más de 5,000 solicitudes/segundo durante los picos de sincronización de clientes móviles.
2. Transmisión en tiempo real mediante WebSocket
- Implementación de un mecanismo de publicación/suscripción (pub/sub) utilizando Redis para conectar los eventos del backend de Laravel con el servidor WebSocket de Go.
- Desacoplamiento de la transmisión de datos de los ciclos de solicitud-respuesta HTTP, lo que resulta en actualizaciones de mapas en vivo fluidas por debajo de los 100 ms.
- Integración de búferes de consultas geoespaciales para agrupar datos de vehículos antes de la transmisión, reduciendo la sobrecarga de renderizado del navegador.