0

Je me demande quelle technique et quels outils utiliser pour avoir la possibilité d'envoyer des notifications en temps réel aux utilisateurs. Spécifiquement si je construis un système de messagerie.Comment créer des notifications en temps réel dans un projet distribué?

Je peux voir que les réseaux sociaux modernes peuvent envoyer des notifications sur les nouveaux messages presque immédiatement. Même lorsque l'utilisateur 'A' d'un pays écrit un message à l'utilisateur 'B' dans un autre pays, vous pouvez voir que l'utilisateur 'A' écrit un message et vous le voyez immédiatement (même si ces utilisateurs vivent sur des continents différents).
J'ai essayé de comprendre comment cela est possible et de trouver des informations à ce sujet mais sans succès.
La seule chose que j'ai découvert est la technique lorsque nous utilisons un serveur Redis ou RabbitMQ avec plusieurs serveurs qui agissent comme des éditeurs et des abonnés. Nos serveurs API reçoivent de nouveaux messages, puis ils envoient un nouveau message dans la file d'attente, puis les abonnés reçoivent les messages et s'ils ont un WebSocket ouvert avec le destinataire, ils poussent ce message dans WebSocket et un client reçoit le message.

Mais cela ne fonctionnera pas vraiment si vous avez un projet distribué et que vos clients sont connectés aux serveurs les plus proches dans le centre de données le plus proche. La question est la suivante: quelles technologies/techniques/tout ce que nous devrions utiliser pour générer des notifications dans un projet distribué?

Répondre

0

Si vous développez votre application/système distribué à l'aide des technologies Web, vous pouvez envisager de créer ce que l'on appelle un Progressive Web App. Avec les PWA, vous pouvez ajouter push notifications d'une manière relativement facile. Vous pouvez commencer avec une approche PWA, puis décider plus tard s'il est nécessaire de développer une application native (iOS ou Android, par exemple).

Il existe de nombreuses ressources pour apprendre et vous guider dans le développement d'applications Web progressistes. Vérifiez les références que j'ai mentionnées ci-dessus, et vous pouvez le faire codelab comme point de départ.