MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Esecuzione di meteore in un cluster e modifiche in tempo reale

Ci sono due problemi principali da considerare quando si eseguono più processi del server Meteor.

  1. Affinità sessione client. I client utilizzano la libreria SockJS per riconnettersi al server Meteor, di solito utilizzando una lunga strategia di polling che si riconnette al server ogni tanto. Il processo del server mantiene lo stato associato a ciascun client. Quindi è importante che la connessione di un determinato client non rimbalzi tra i server, altrimenti il ​​server penserà che stia parlando con un nuovo client e invierà nuovamente lo stato dell'abbonamento.

  2. Coordinamento delle invalidazioni del database. Ogni volta che un client esegue una scrittura del database, il processo del server esegue un ricalcolo e invia gli aggiornamenti a qualsiasi altro client interessato. Ma i client connessi a un server diverso non vedranno la modifica fino a quando il processo del server non esegue il ciclo di polling Mongo di 10 secondi. Per alcune applicazioni va bene che la maggior parte dei client sia in ritardo di 10 secondi. Se la tua applicazione richiede qualcosa di più in tempo reale, dovrai implementare la tua comunicazione interprocesso tra i processi del server Meteor.