Aperçu du projet
Actitrack est une plateforme SaaS (Software-as-a-Service) de géolocalisation conçue pour le suivi de flotte en direct, la relecture d'itinéraires et la gestion du personnel. Le projet exigeait de gérer des mises à jour constantes de localisation provenant de milliers de clients mobiles actifs et de fournir des mises à jour cartographiques en temps réel aux tableaux de bord d'administration avec une latence inférieure à la seconde.
Réalisations techniques
1. Architecture Backend Hybride
Pour gérer une ingestion à écriture élevée sans surcharger le serveur d'application principal :- Conception d'une API Gateway avec Laravel pour gérer l'authentification des utilisateurs, la facturation, l'accès au tableau de bord et les API de recherche historique.
- Création d'un microservice d'ingestion spécialisé et performant en Go pour gérer les connexions WebSocket et traiter les flux de télémétrie de localisation.
- Ingestion stable de plus de 5 000 requêtes/seconde pendant les pics de synchronisation des clients mobiles.
2. Diffusion en temps réel par WebSocket
- Implémentation d'un mécanisme pub/sub utilisant Redis pour lier les événements du backend Laravel au serveur WebSocket Go.
- Découplage de la diffusion des données des cycles requête-réponse HTTP, permettant des mises à jour fluides des cartes en direct en moins de 100 ms.
- Intégration de tampons de requêtes géospatiales pour regrouper les données des véhicules avant la diffusion, réduisant ainsi la surcharge de rendu du navigateur.