[ Portfolio ]Wadjid Assani

[ Backend Engineer → Data & AI ]

data..

Tous les articles
Backend30 août 20268 min de lecture

Patterns temps réel avec NestJS : WebSockets qui passent à l'échelle

Le temps réel, c'est facile en démo et difficile en production. Entre les reconnexions, les messages perdus et les instances multiples, voici les patterns qui ont survécu à la mise en prod de Soft-Vodooz.

01Une gateway par domaine

Plutôt qu'une gateway unique qui sait tout faire, on isole une gateway par domaine métier : messagerie, notifications, présence. Chacune a ses rooms, ses événements et sa logique de reconnexion. Le code reste testable et les incidents sont circonscrits.

02Les rooms comme unité de diffusion

Une room par salon de discussion, pas par utilisateur : le serveur diffuse une fois, les abonnés reçoivent. Les accusés de lecture et la présence passent par des canaux séparés pour ne pas saturer le canal principal de messages de contrôle.

03Files de tâches pour le lourd

Règle d'or : rien de lent dans le chemin WebSocket. Redimensionnement d'image, envoi d'emails, indexation — tout part dans BullMQ et le client reçoit un événement de complétion. La gateway reste réactive quoi qu'il arrive.

En résumé : des gateways isolées, des rooms bien découpées, du lourd en files de tâches — et du monitoring sur la latence de diffusion, pas seulement sur les connexions.

#NestJS#WebSocket#Redis#BullMQ

Une question sur cet article ?

Me contacter
Wadjid Assani
wadjidassani@gmail.com

Quels services pour votre projet ?

Je suis intéressé par :

Télécharger le CV