Режим кластера PM2 и производительность кластера узлов

Я понимаю, что PM2 Cluster Mode позволяет нам легко масштабировать ЦП на одиночная машина. Создает ли он несколько экземпляров масштабируемого приложения узла? По сути, это то же самое, что запускать приложения с несколькими узлами на разных портах с обратным прокси-сервером, таким как Nginx?

Затем есть кластер узлов, который порождает дочерний процесс. Является ли этот подход более эффективным по сравнению с режимом кластера PM2, поскольку он запускает приложение с одним узлом и использует рабочие потоки для обработки входящих запросов?


person Nick    schedule 09.08.2017    source источник


Ответы (1)


в основном они делают то же самое, PM2 будет использовать кластер узлов под капотом, это упростит задачу, поскольку вам не нужно программно обрабатывать разветвление в вашем коде, просто запустите его как есть.

обратите внимание, что режим кластера не поддерживает закрепление сеанса, поэтому убедитесь, что ваше приложение не имеет состояния.

person Daniel Miron    schedule 09.08.2017
comment
Мне, вероятно, придется это проверить, но я пытаюсь понять, увеличится ли использование ресурсов пропорционально количеству вилок, производимых PM2. Например, если один экземпляр приложения использует 4 ГБ, в PM2 каждый дополнительный экземпляр будет потреблять еще 4 ГБ, тогда как в кластере узлов этого не будет. - person Nick; 12.08.2017
comment
Я только что обнаружил, что форк в Node сильно отличается от форка POISIX тем, что фактически не клонирует текущий процесс, но запускает новый экземпляр V8. Источник: stackabuse.com/setting-up-a-node-js-cluster - person Nick; 13.08.2017