Sobes.tech
Back to questions
Junior — Middle
74

Какие методы используют для распределения нагрузки в nginx?

Answer from AI

sobes.tech AI

В nginx для распределения нагрузки между серверами (upstream) используются следующие основные методы:

  1. Round Robin (по умолчанию) — запросы последовательно направляются на каждый сервер по очереди.

  2. Least Connections — запрос направляется на сервер с наименьшим количеством активных соединений, что помогает балансировать нагрузку при разной длительности запросов.

  3. IP Hash — распределение запросов на серверы происходит на основе хеша IP клиента, что обеспечивает привязку клиента к одному серверу (сессия сохраняется).

Пример конфигурации:

upstream backend {
    least_conn;
    server backend1.example.com;
    server backend2.example.com;
}

server {
    location / {
        proxy_pass http://backend;
    }
}

Также есть дополнительные возможности, например, вес серверов (weight), резервные серверы (backup), но основные методы — это перечисленные выше.