Во-первых, если вы хотите использовать сеансы, вам нужно использовать хранилище сеансов. В противном случае сессия не будет разделена между экземплярами вашего приложения.
Тогда самый простой способ — использовать что-то вроде PM2, которое можно найти здесь: https://github.com/Unitech/pm2
Вам не нужно вносить изменения в ваши файлы app.js - они должны быть написаны как стандартное некластеризованное приложение для парусов. PM2 сделает свою работу.
Просто запустите приложение с помощью pm2 start app.js -i x
, где x
— количество экземпляров, или используйте pm2 start app.js -i max
, который запустит экземпляры, равные количеству процессоров или потоков процессора.
PM2 великолепен и очень стабилен, у него есть много функций для бесперебойной работы в продакшене, однако у него есть некоторые недостатки в разработке. Если у вас когда-нибудь возникнет проблема с «уже используемым портом» после остановки или даже удаления приложения, которое его использовало, вам придется использовать pm2 kill
, который убьет ВСЕ ваши приложения. Кроме этого - это просто здорово - с некоторыми дополнительными инструментами мониторинга.
person
Jarema
schedule
09.10.2014