В nginx для распределения нагрузки между серверами (upstream) используются следующие основные методы:
Настраивали балансировку в Nginx?
В nginx для распределения нагрузки между серверами (upstream) используются следующие основные методы:
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
В nginx для распределения нагрузки между серверами (upstream) используются следующие основные методы:
- Round Robin (по умолчанию) — запросы последовательно направляются на каждый сервер по очереди.
- Least Connections — запрос направляется на сервер с наименьшим количеством активных соединений, что помогает балансировать нагрузку при разной длительности запросов.
- IP Hash — распределение запросов на серверы происходит на основе хеша IP клиента, что обеспечивает привязку клиента к одному серверу (сессия сохраняется).
Пример конфигурации:
upstream backend {
least_conn;
server backend1.example.com;
server backend2.example.com;
}
server {
location / {
proxy_pass http://backend;
}
}
Также есть дополнительные возможности, например, вес серверов (weight), резервные серверы (backup), но основные методы — это перечисленные выше.