Ответ 1
Я думаю, что самое большое преимущество в том, что вы можете использовать один и тот же порт (80) для нескольких приложений. В противном случае вам понадобится новый IP-адрес для каждого приложения nodejs, которое у вас есть. В зависимости от того, как вы настроите настройки, вы также можете настроить разные папки и поддомены для разных приложений nodejs, работающих на разных портах. Если вы строите что-то большое или сложное, это очень здорово. Представьте, что вы можете запускать свои API-интерфейсы в одном приложении node, на вашем веб-сайте с другого пользователя и на входе в веб-сайт (область участников, панель мониторинга и т.д.) В другом приложении. Ваш балансировщик нагрузки может определить, кому нужно идти туда (example.com/api* → api.js, example.com/dashboard* → dashboard.js, example.com → app.js). Это не только полезно для масштабирования, но и когда все ломается, не все сразу прерывается.
К зрелости, мех. Nodejs + forever + node-http-proxy= Удивительно. Запустите 1 прокси-сервер для всех ваших приложений с минимальной конфигурацией/сложностью (меньшая вероятность сбоя). Тогда получайте удовольствие от всего остального. Не забывайте, что брандмауэр отключен от ваших внутренних портов, хотя ;)
.
Некоторые люди отмечают балансировку нагрузки, которая истинна, является преимуществом. Однако балансировка нагрузки не является чем-то, что выиграет большинство людей, поскольку поток с одним потоком, неблокирующий nodejs может обрабатывать довольно впечатляюще большие нагрузки. Я бы даже не подумал об этом как о разнице, если бы я был вами. Балансировка нагрузки достаточно проста для реализации, когда вам это нужно, но в остальном совершенно бесполезно, пока вы не сделаете.
Также обратите внимание: если вы идете с прокси-сервером без node (nginx, торнадо и т.д.), просто убедитесь, что НЕ используйте тот, который блокирует. Блоки Apache. Nginx этого не делает. Вы не хотите выбрасывать одно из самых больших преимуществ использования nodejs в первую очередь на crummy сервере.