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

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

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

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

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

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

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

  • Модуль queue создает очередь запросов. Если балансировщик не смог выбрать апстрим-сервер для обработки, то запрос попадает в очередь ожидания.

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

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

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

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

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

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

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

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

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

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

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