sql >> Databasteknik >  >> NoSQL >> MongoDB

Körande meteor i ett kluster och förändringar i realtid

Det finns två huvudproblem att tänka på när du kör flera Meteor-serverprocesser.

  1. Kundsessionsaffinitet. Klienter använder SockJS-biblioteket för att ansluta tillbaka till Meteor-servern, vanligtvis genom att använda en lång pollingstrategi som återansluter till servern då och då. Serverprocessen håller tillstånd associerat med varje klient. Så det är viktigt att en given klients anslutning inte studsar mellan servrar, annars tror servern att den pratar med en ny klient och skickar om hela prenumerationsstatusen.

  2. Samordnar databasens ogiltigheter. Varje gång en klient utfärdar en databasskrivning, kör serverprocessen en omräkning och skickar uppdateringar till alla andra berörda klienter. Men klienter som är anslutna till en annan server kommer inte att se ändringen förrän den serverprocessen kör Mongo-pollingsslingan på 10 sekunder. För vissa applikationer är det okej att ha de flesta klienter efter 10 sekunder. Om din applikation kräver något mer i realtid, måste du implementera din egen interprocesskommunikation mellan Meteor-serverprocesser.



  1. Hur man uppdaterar _id-fältet i ett mongodb-dokument

  2. Spring Data MongoDB och allowDiskUse

  3. Hur MongoDB möjliggör maskininlärning

  4. MongoDB tomt strängvärde kontra nullvärde