Я пытаюсь настроить производственную среду с интерфейсом под управлением nginx и серверной частью с несколькими приложениями nodejs, использующими pm2 для управления процессами.
Идея состоит в том, чтобы обеспечить горизонтальную масштабируемость на сервере (и, возможно, вертикальную). Хорошая идея - использовать балансировку нагрузки с nginx (восходящий поток), а также несколько процессов на бэкэнде с pm2? Это могло быть противоречивым или необязательным?
При использовании балансировки нагрузки во фронтенде можно создать несколько бэкэнд-машин с одним процессом (горизонтально). Или можно использовать nginx только как http-сервер и использовать многопроцессорность pm2 на бэкэнде (вертикально). Или используйте балансировку нагрузки nginx и многопроцессорность pm2 (горизонтальную и вертикальную)
В прошлом у нас были проблемы с изменением размеров машин в нашем облаке стоечного пространства, поэтому я предпочитаю балансировать из внешнего интерфейса по горизонтали.