Балансирането на натоварването на Ngnix не е ли като прокси сървър?

Основно има ли някаква разлика между използването на nginx като балансьор на натоварването за куп сървъри нагоре по веригата. Или използване на малък nodejs прокси сървър, който действа като прокси между куп сървъри и един публичен хостинг.

Може да изглежда очевидно за вас, но за мен nginx е много нов. И аз почти не знам нищо за това..

Също така предполагам, че въпросът ми има ли някакво предимство в производителността за използване на nginx като прокси сървър, който разпределя натоварването срещу стартиране на ваш собствен възел js код, който действа като прокси между други заявки.


person Muhammad Umer    schedule 27.03.2015    source източник
comment
Решихте ли проблема?   -  person Anatoly    schedule 23.09.2015
comment
да, оказа се, че писането на вашето прокси е много лесно в nodjes   -  person Muhammad Umer    schedule 23.09.2015


Отговори (1)


В случай на въвеждане на технологията +1, бих казал да запазите персонализирания NodeJS прокси като краткосрочно решение.

Дългосрочното решение е Nginx като обратен прокси сред масив от бекенд има голям смисъл поради много технически причини и причини за поддръжка. Едно приложение рядко остава същото, защото прилагате нови функции, заменяте наследения код и внедрявате нови, така че начинът е да използвате правилния инструмент за правилната задача. Nginx е доказан и избран от много тежко натоварени приложения в мрежата. Консумацията на памет и използването на процесора е ниско и стабилно.

Повечето хора използват Nginx като обратен прокси (между другото най-голямата причина да използват Nginx), отколкото нещо друго, защото е толкова мощен и представен.

От жизнения цикъл на заявка-отговор m Nginx продължава да се върти между бекенда, за да изпрати заявка отново, ако даден бекенд е мъртъв, така че нито една заявка не се губи.

От гледна точка на поддръжката, динамичният upstream (част от търговската инсталация) с 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