back_to_work()host: static_site_generation
Plateforme de VTCJanv 2025 - Août 2025

Motorush

"Indexing"Grille spatiale Uber H3
"Concurrency"État temps réel Node.js
"Tech"Laravel, Node.js, Redis

Aperçu du projet

Motorush est une application de VTC et de répartition de type Uber, nécessitant une mise en relation précise entre les passagers et les chauffeurs à proximité. Le système repose sur la diffusion en temps réel de la localisation, l'indexation spatiale pour un calcul rapide du rayon de recherche des chauffeurs, et la cohérence transactionnelle pour les flux de réservation.

Réalisations techniques

1. Indexation spatiale avec la grille Uber H3

Le calcul des distances brutes à partir de la latitude et de la longitude pour des milliers de chauffeurs actifs est très lourd en calculs.
  • Implémentation de l'indexation par grille spatiale Uber H3 pour diviser les zones géographiques en cellules hexagonales.
  • Stockage des coordonnées de localisation des chauffeurs dans un index géospatial Redis mappé aux cellules H3 actives.
  • Réduction de la latence de recherche des chauffeurs à proximité de 85 %, garantissant des temps de requête inférieurs à 15 ms lors des demandes de répartition à forte concurrence.
Cartographie de la grille hexagonale spatiale Uber H3

2. Contrôleur de répartition haute disponibilité

  • Construction d'un moteur d'état en temps réel en Node.js pour gérer les transitions de statut des trajets (ex: recherche, accepté, en cours, terminé).
  • Utilisation de pipelines de transactions Redis pour gérer les demandes de trajets simultanées et éviter la double attribution d'un même chauffeur.
  • Délégation du traitement des paiements et de l'enregistrement des factures à des files d'attente Laravel en arrière-plan, préservant ainsi la vitesse de réponse de la transaction principale.
status: eof
trpsky@shell:~$
Welcome to trpsky-shell v1.0.2
Type "help" for instructions.
$