MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Bieganie meteoru w klastrze i zmiany w czasie rzeczywistym

Podczas uruchamiania wielu procesów serwera Meteor należy wziąć pod uwagę dwie główne kwestie.

  1. Powinowactwo sesji klienta. Klienci używają biblioteki SockJS, aby połączyć się z serwerem Meteor, zwykle przy użyciu długiej strategii odpytywania, która co jakiś czas ponownie łączy się z serwerem. Proces serwera przechowuje stan skojarzony z każdym klientem. Dlatego ważne jest, aby połączenie danego klienta nie odbijało się między serwerami, w przeciwnym razie serwer pomyśli, że rozmawia z nowym klientem i ponownie wyśle ​​cały stan subskrypcji.

  2. Koordynowanie unieważnień baz danych. Za każdym razem, gdy klient wysyła zapis do bazy danych, proces serwera przeprowadza ponowne obliczenie i wysyła aktualizacje do dowolnego innego klienta, którego dotyczy problem. Ale klienci połączeni z innym serwerem nie zobaczą zmiany, dopóki ten proces serwera nie uruchomi 10-sekundowej pętli odpytywania Mongo. W przypadku niektórych aplikacji większość klientów jest opóźniona o 10 sekund. Jeśli Twoja aplikacja wymaga czegoś więcej w czasie rzeczywistym, będziesz musiał zaimplementować własną komunikację międzyprocesową między procesami serwera Meteor.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. 3 sposoby konwersji ciągu znaków na datę w MongoDB

  2. Usługa MongoDB nie uruchamia się po wstępnej konfiguracji

  3. Nie można nadpisać modelu `users` po skompilowanym węźle js

  4. MongoDB :kolejność indeksów i kolejność zapytań muszą być zgodne?

  5. $addFields, gdy nie znaleziono $dopasowania