@wawa

Как NGINX общается с проксируемым сервером?

Допустим у меня есть http сервис, и я хочу выдать его наружу.
Повесить его на 0.0.0.0:80 наверное не лучшая идея (не совсем понимаю почему), нужно поставить впереди Nginx как прокси. Но не понятно как он будет взаимодействовать с сервисом-бекендом в условиях высокой нагрузки. Он же не будет перекидывать ВСЕ соединения сервису (наверное всё сломается, может памяти не хватит). Как это работает?
Просто куча конфигов Nginx в сети с упором на работу между клиентом и Nginx, но не объясняется что и как работает дальше.
  • Вопрос задан
  • 191 просмотр
Пригласить эксперта
Ответы на вопрос 3
@Wexter
обычно работает немного иначе
2-3 сервера nginx как балансировщики и несколько серверов бэкендов
Ответ написан
Комментировать
@Fixid
При адекватной настройке в режиме проксирования:
Nginx принимает соединение, потом лезет в кэш, если может отвечает из кэша. Если данных нет/протухли, то лезет по proxy_pass на ваш сервис, максимально быстро забирает данные и закрывает соединение с вами. Далее отдает данные клиенту с нужной скоростью.
Главный смысл в том что медленные клиенты висят на Nginx, минимально потребляя ресурсы сервера
Ответ написан
ky0
@ky0 Куратор тега Nginx
Миллиардер, филантроп, патологический лгун
Разумеется, в нагруженном проекте противопоказано, как вы выражаетесь, "перекидывать все соединения" вовнутрь. Для апстримов настраиваются настройки кипалайва и нгинкс держит некоторое количество постоянно поднятых коннектов, не тратя время и ресурсы на поднимание-закрывание при каждом новом запросе.

Читайте доки нгинкса, там нет ничего особенно сложного.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы