Какой способ масштабирования приложения nodejs лучше? - PullRequest
0 голосов
/ 24 мая 2018

Мне также нужно масштабироваться на разных серверах.

  1. Это будет возможно только с pm2, поскольку он только разветвляет дочерние процессы из основного процесса, который также использует один и тот же порт.
  2. Используете ли вы обратный прокси-сервер, такой как Nginx, есть ли путь для горизонтального масштабирования?

1 Ответ

0 голосов
/ 25 мая 2018

Вы можете пойти, PM2 с Nginx .

Это наиболее предпочтительный способ масштабирования приложений node.js.

Вот лучшее объяснение:

Nginx снаружи, чтобы быть входной дверью.Он должен обрабатывать SSL и быть обратным прокси в pm2.Бонусные баллы за сопоставление статических активов в nginx и узле защиты от этих запросов.

Затем pm2.Это также обратный прокси-сервер, но он очень специфичен для процессов узлов и действительно является скорее диспетчером процессов, чем веб-сервером.Используя это все еще отличная идея.Вы можете ускорить процессы N узлов, что позволит вам использовать преимущества нескольких процессоров, и pm2 продолжит их работу в случае сбоя.Вы также можете сделать изящный перезапуск, обновляя один экземпляр приложения за раз, без простоев.

Pm2 также поставляется с некоторыми удобными утилитами, такими как встроенные (freemium) метрики, и отличным небольшим инструментом веб-управления.Вы могли бы показывать основную статистику и стандартный вывод ваших процессов.

Наличие обоих слоев на одном сервере или разделенных при необходимости дает вам большой контроль и производительность.Накладные расходы совсем не плохи (поскольку каждый слой делает то, что он делает лучше всего), и его совсем не сложно настроить.

...