MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Exécution de météore dans un cluster et changements en temps réel

Il y a deux problèmes principaux à prendre en compte lors de l'exécution de plusieurs processus de serveur Meteor.

  1. Affinité de session client. Les clients utilisent la bibliothèque SockJS pour se reconnecter au serveur Meteor, généralement en utilisant une longue stratégie d'interrogation qui se reconnecte au serveur de temps en temps. Le processus serveur contient l'état associé à chaque client. Il est donc important que la connexion d'un client donné ne rebondisse pas entre les serveurs, sinon le serveur pensera qu'il parle à un nouveau client et renverra tout l'état de l'abonnement.

  2. Coordonner les invalidations de la base de données. Chaque fois qu'un client émet une écriture de base de données, le processus serveur exécute un recalcul et transmet les mises à jour à tout autre client concerné. Mais les clients connectés à un autre serveur ne verront pas le changement tant que ce processus serveur n'aura pas exécuté la boucle d'interrogation Mongo de 10 secondes. Pour certaines applications, il est normal que la plupart des clients soient en retard de 10 secondes. Si votre application nécessite quelque chose de plus en temps réel, vous devrez implémenter votre propre communication interprocessus entre les processus du serveur Meteor.