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