Балансировщик нагрузки#

Балансировка

Балансировщик нагрузки позволяет распределять клиентские запросы по серверам на основании выбранного алгоритма балансировки, данных статистики или обратной связи от сервера (см. Методы балансировки). В идеале клиентские запросы равномерно распределяются по всем серверам, что увеличивает совокупную производительность системы. Доступна балансировка на двух уровнях: L7 (протокол HTTP) и L4 (TCP и UDP).

Высокая доступность

Высокая доступность при балансировке обеспечивается за счет проверок работоспособности апстрим-серверов и резервирования проксируемых серверов и групп.

Примечание

Отказоустойчивость самого балансировщика нагрузки обеспечивается отдельно, например с помощью пары высокой доступности.

Дополнительная настройка

Помимо алгоритмов распределения запросов, в HTTP- и TCP/UDP-балансировке могут использоваться смежные модули:

  • Модуль queue создает очередь запросов. Если балансировщик не смог выбрать апстрим-сервер для обработки, то запрос попадает в очередь ожидания. Также можно задать приоритизацию запросов в очереди. Приоритетные запросы будут обрабатываться в первую очередь, что позволит в условиях критической перегрузки сохранить обслуживание наиболее важных клиентов, отсекая второстепенные запросы и повышая устойчивость к DDoS-атакам.

  • Модуль keepalive позволяет держать открытые неактивные соединения с апстрим-серверами, т. е. не закрывать соединения при завершении обработки запроса.

  • Директива bind_conn, реализованная в модуле keepalive, позволяет привязать клиентское соединение к серверному соединению.

  • Модуль sticky также позволяет привязывать клиентское соединение к апстрим-серверу, но на основе информации, содержащейся в самом запросе.

  • Модуль zone обеспечивает доступ с использованием REST API. API позволяет получать набор метрик, в том числе относящихся к балансировке.

  • Модуль upstream_probe позволяет обеспечить активные проверки апстрим-серверов.

Подробнее см. в справочнике HTTP-модуля и в справочнике потокового модуля.

Хранение версий конфигурации

Все версии конфигурации балансировщика нагрузки сохраняются. Вы можете просмотреть историю изменений, а также восстановить конфигурацию из резервной копии.

Справочная информация

В разделе Справочная информация представлены сведения о встроенных и сторонних модулях, примеры их настройки, а также поддерживаемые ими директивы и переменные.

В этом разделе: