Методы балансировки
В конфигурации upstream задаётся алгоритм распределения входящих запросов между узлами backend-сервиса. Выбор метода балансировки определяет логику выбора целевого узла при обработке каждого запроса.
Поддерживаются следующие методы балансировки:
Round Robin
Запросы распределяются между узлами последовательно, по кругу, с учётом весов. При равных весах нагрузка распределяется равномерно.
CHash
Выбор узла выполняется на основе хэширования значения заданного параметра. Обеспечивает привязку запросов с одинаковыми параметрами к одному и тому же backend-узлу.
Для расчёта хэша могут использоваться следующие источники данных:
-
vars— значения встроенных переменных NGINX -
header— значения HTTP-заголовков -
cookie— значения cookie -
consumer— идентификатор потребителя (consumer) -
vars_combinations— комбинация нескольких переменных