У меня есть один сервер Nginx, выполняющий балансировку нагрузки на несколько вышестоящих серверов.
Что происходит при поступлении запроса?
Поддерживает ли балансировщик нагрузки соединение и ждет ли ответа от вышестоящих серверов? Или он просто передает запрос вышестоящему серверу и «закрывает» соединение?
Если балансировщик нагрузки сохраняет соединение открытым до тех пор, пока запрос не будет обработан, это будет означать, что балансировщик нагрузки является узким местом в моей системе, и не будет иметь значения, если я увеличу количество вышестоящих серверов.
Это зависит от того, что вы укажете nginx в своей конфигурации и какой режим проксирования установлен.
Если ваш вариант использования proxy_pass
или fastcgi_pass
это контролируется proxy_http_version
и fastcgi_keep_conn
в сочетании с keepalive
директива в блоке восходящего сервера.