Балансировщик нагрузки#
Балансировка
Балансировщик нагрузки позволяет распределять клиентские запросы по серверам на основании выбранного алгоритма балансировки, данных статистики или обратной связи от сервера (см. Методы балансировки). В идеале клиентские запросы равномерно распределяются по всем серверам, что увеличивает совокупную производительность системы. Доступна балансировка на двух уровнях: L7 (протокол HTTP) и L4 (TCP и UDP).
Высокая доступность
Высокая доступность при балансировке обеспечивается за счет проверок работоспособности апстрим-серверов и резервирования проксируемых серверов и групп.
Примечание
Отказоустойчивость самого балансировщика нагрузки обеспечивается отдельно, например с помощью пары высокой доступности.
Дополнительная настройка
Помимо алгоритмов распределения запросов, в HTTP- и TCP/UDP-балансировке могут использоваться смежные модули:
Модуль
queueсоздает очередь запросов. Если балансировщик не смог выбрать апстрим-сервер для обработки, то запрос попадает в очередь ожидания. Также можно задать приоритизацию запросов в очереди. Приоритетные запросы будут обрабатываться в первую очередь, что позволит в условиях критической перегрузки сохранить обслуживание наиболее важных клиентов, отсекая второстепенные запросы и повышая устойчивость к DDoS-атакам.Модуль
keepaliveпозволяет держать открытые неактивные соединения с апстрим-серверами, т. е. не закрывать соединения при завершении обработки запроса.Директива
bind_conn, реализованная в модулеkeepalive, позволяет привязать клиентское соединение к серверному соединению.Модуль
stickyтакже позволяет привязывать клиентское соединение к апстрим-серверу, но на основе информации, содержащейся в самом запросе.Модуль
zoneобеспечивает доступ с использованием REST API. API позволяет получать набор метрик, в том числе относящихся к балансировке.Модуль
upstream_probeпозволяет обеспечить активные проверки апстрим-серверов.
Подробнее см. в справочнике HTTP-модуля и в справочнике потокового модуля.
Хранение версий конфигурации
Все версии конфигурации балансировщика нагрузки сохраняются. Вы можете просмотреть историю изменений, а также восстановить конфигурацию из резервной копии.
Справочная информация
В разделе Справочная информация представлены сведения о встроенных и сторонних модулях, примеры их настройки, а также поддерживаемые ими директивы и переменные.
В этом разделе: