Long Polling bat WebSockets : Un guide pratique pour les systèmes temps réel évolutifs

2025-01-05

L'équipe d'Inferable a choisi le long polling HTTP plutôt que les WebSockets pour construire un système temps réel évolutif utilisant Node.js et TypeScript. Face aux défis de centaines de nœuds de travail nécessitant des mises à jour de tâches en temps réel et des agents nécessitant une synchronisation d'état en temps réel, ils ont trouvé le long polling étonnamment efficace. En maintenant les connexions HTTP ouvertes jusqu'à ce que de nouvelles données arrivent ou qu'un délai d'attente soit atteint, ils ont évité les complexités des WebSockets, telles que l'authentification, l'observabilité et la compatibilité de l'infrastructure. L'article détaille leur implémentation, y compris l'optimisation de la base de données, la gestion des erreurs et les meilleures pratiques telles que le TTL obligatoire, le TTL configurable par le client et des intervalles de sondage de la base de données raisonnables. Le choix découlait de la nécessité d'un contrôle central du produit sur le mécanisme de livraison des messages, de zéro dépendance externe et de la facilité de compréhension et de modification. Des alternatives telles qu'ElectricSQL sont brièvement discutées, soulignant les scénarios où les WebSockets pourraient être préférables.

Développement systèmes temps réel