Разве балансировка нагрузки Ngnix не похожа на прокси-сервер?

В основном есть ли разница между использованием nginx в качестве балансировщика нагрузки для группы вышестоящих серверов. Или использовать небольшой прокси-сервер nodejs, который действует как прокси между группой серверов и одним общедоступным хостингом.

Для вас это может показаться очевидным, но для меня nginx очень нов. И я почти ничего не знаю об этом..

Также я предполагаю, что мой вопрос заключается в том, есть ли какое-либо преимущество в производительности для использования nginx в качестве прокси-сервера, который распределяет нагрузку по сравнению с запуском собственного кода js узла, который действует как прокси между другими запросами.


person Muhammad Umer    schedule 27.03.2015    source источник
comment
Вы решили проблему?   -  person Anatoly    schedule 23.09.2015
comment
ага оказалось написать свой прокси очень просто в ноджес   -  person Muhammad Umer    schedule 23.09.2015


Ответы (1)


В случае внедрения технологии +1 я бы посоветовал сохранить собственный прокси-сервер NodeJS в качестве краткосрочного решения.

Долгосрочным решением является Nginx, поскольку обратный прокси-сервер среди массива бэкэнда имеет большое значение по ряду технических причин и причин обслуживания. Приложение редко остается прежним, потому что вы применяете новые функции, заменяете устаревший код и развертываете новые, поэтому нужно использовать правильный инструмент для правильной задачи. Nginx проверен и выбран многими тяжелонагруженными веб-приложениями. Потребление памяти и загрузка ЦП низкие и стабильные.

Большинство людей используют Nginx в качестве обратного прокси-сервера (кстати, самая большая причина использовать Nginx), а не что-либо еще, потому что он такой мощный и многофункциональный.

Из жизненного цикла запрос-ответ m Nginx продолжает чередоваться между бэкэндом, чтобы снова отправить запрос, если данный бэкенд не работает, поэтому ни один запрос не потерян.

С точки зрения обслуживания динамический апстрим (часть коммерческой установки) с интерфейсом Rest выглядит достаточно хорошо. Даже версию с открытым исходным кодом легко развернуть вверх по течению обновления + плавная перезагрузка (сигнал HUP). Nginx также поддерживает бинарное обновление с нулевым временем простоя (USR2+QUIT).

person Anatoly    schedule 29.03.2015
comment
я понимаю, но из-за чрезвычайной сложности заставить nginx делать что-то настолько простое, что я бросил читать stackoverflow.com/questions/12050704/ - person Muhammad Umer; 30.03.2015
comment
так что прокси на основе nodejs достаточно хорош. Round Robin очень прост в реализации. - person Muhammad Umer; 30.03.2015
comment
Nginx также несложно внедрить http://nginx.org/en/docs/http/ngx_http_upstream_module.html - person Anatoly; 30.03.2015
comment
да, но было кое-что, чего я не мог сделать в nginx, но могу в nodejs. Я хотел передать другой заголовок в зависимости от того, какой вышестоящий сервер был выбран. - person Muhammad Umer; 30.03.2015