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

Mongoose tworzy połączenie dla obsługi wielu dzierżawców w node.js

Nie polecam ręcznego tworzenia i zarządzania tymi oddzielnymi połączeniami. Nie znam szczegółów wymagań dotyczących wielu najemców (liczba najemców, rozmiar baz danych, oczekiwana liczba transakcji itp.), ale myślę, że lepiej byłoby wybrać coś takiego jak Funkcja useDb Mongoose . Wtedy Mongoose może obsłużyć wszystkie szczegóły puli połączeń.

aktualizacja

Pierwszym kierunkiem, który chciałbym zbadać, jest skonfigurowanie każdego dzierżawcy w osobnym procesie węzła. Istnieje kilka interesujących korzyści z uruchamiania dzierżawców w oddzielnych procesach węzłów. Ma to sens z punktu widzenia bezpieczeństwa (pamięć izolowana) oraz z punktu widzenia stabilności (awaria jednego procesu dzierżawcy nie wpływa na inne).

Zakładając, że opierasz dzierżawę na adresie URL, skonfigurujesz serwer proxy przed rzeczywistymi serwerami dzierżawcy. Jego zadaniem byłoby sprawdzenie adresu URL i skierowanie do właściwego procesu na podstawie tych informacji. Jest to bardzo prosty węzłowy serwer proxy http organizować coś. Każda instancja dzierżawcy może być dokładnie tą samą bazą kodu, ale uruchamiana z inną konfiguracją (która mówi im, jakiego ciągu połączenia mongo użyć).

Oznacza to, że możesz zaprojektować rzeczywistą aplikację tak, jakby nie była obsługiwana przez wielu dzierżawców. Każdy proces zna tylko jedną bazę danych mongo i nie jest wymagana logika wielodostępna. Umożliwia również łatwe rozdzielenie ruchu na później w zależności od obciążenia. Jeśli potrzebujesz podzielić dzierżawców ze względu na wydajność, możesz to zrobić w sposób przejrzysty na poziomie proxy. Wszystkie DNS mogą pozostać takie same i możesz po prostu przenieść serwer, na którym znajdują się instancje za kulisami. Możesz nawet ustawić proxy równoważenie żądań dzierżawy między wieloma serwerami.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB Replica Set:Różnica wielkości dysku w węzłach podstawowych i dodatkowych

  2. Dlaczego różne plany zapytań MongoDB pokazują różne wartości nReturned?

  3. Mapa Zmniejsz rodzaj zapytania z koniecznością skorelowania z poprzednim wierszem

  4. Lokalizacja w manguście, mongoDB

  5. MongoDB elemMatch nie działa oczekiwano