INTEGRITY Документация

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

Балансировщик нагрузки распределяет трафик между пулами согласно работоспособность пула и политики управления трафиком. Каждый балансировщик нагрузки идентифицируется по своему DNS-имени хоста (lb.example.com, dev.example.com, и т. д.) или IP-адрес.


Распространённые конфигурации

Рекомендации приведены в Распространённые конфигурации балансировщика нагрузки.

Public vs. Private Load Balancers

Public Load Balancers предназначены для обработки трафика из публичного интернета. При развёртывании они автоматически получают имя хоста и сразу становятся доступны. Такие балансировщики нагрузки могут направлять трафик на различные типы назначений, включая публичные имена хостов, публичные и приватные IP-адреса.

Private Load Balancers, напротив, предназначены для внутреннего использования в приватных сетях. Они не получают имя хоста автоматически, но его можно назначить через Gateway Firewall Policies или с помощью внутренней системы DNS. Private Load Balancers принимают трафик только через точку входа в приватную сеть, например Cloudflare One Client или Cloudflare WAN. Они могут перенаправлять трафик исключительно на приватные IP-адреса.

Балансировка нагрузки и существующие DNS-записи

Подробнее о записях DNS см. в DNS-записи для балансировки нагрузки.

HTTP keep-alive (постоянное HTTP-соединение)

Cloudflare поддерживает keep-alive соединения, чтобы повысить производительность и снизить затраты на многократное установление TCP-соединений при обработке запросов, пока Cloudflare передаёт трафик клиентов от своей периферийной сети до исходного сервера сайта.

Убедитесь, что на вашем источнике включены соединения HTTP Keep-Alive. Cloudflare повторно использует открытые TCP-соединения в течение 15 минут (900 секунд) после последнего HTTP-запроса. Веб-серверы источника закрывают TCP-соединения, если их открыто слишком много. HTTP Keep-Alive помогает избежать преждевременного сброса соединений для запросов, проксируемых через Cloudflare.

Cookie-файлы сессии

При использовании HTTP-cookie для отслеживания и привязки пользовательских сессий к конкретному серверу, настройте Session Affinity для разбора HTTP-запросов по заголовку cookie. Это позволяет направлять каждый запрос на нужный сервер приложения, даже если HTTP-запросы используют одно и то же TCP-соединение из-за keep-alive.

Например, балансировщики F5 BIG-IP устанавливают сессионный cookie-файл в начале TCP-соединения (если он отсутствует), а затем игнорирует все cookie из последующих HTTP-запросов в рамках того же TCP-соединения. Это часто нарушает session affinity, поскольку Cloudflare отправляет несколько HTTP-сессий по одному и тому же TCP-соединению. Чтобы избежать этой проблемы, настройте балансировщик нагрузки на разбор HTTP-запросов по заголовкам cookie.


Создание балансировщиков нагрузки

Пошаговые инструкции приведены в Создайте балансировщик нагрузки.


Свойства

Актуальный список свойств балансировщика нагрузки приведён в Свойства балансировщика нагрузки в документации по API Cloudflare.


Команды API

Cloudflare API поддерживает следующие команды для балансировщиков нагрузки.

Команда Метод Конечная точка
Create Load Balancer POST /zones/:zone_id/load_balancers
Delete Load Balancer DELETE /zones/:zone_id/load_balancers/:id
List Load Balancers GET /zones/:zone_id/load_balancers
Load Balancer Details GET /zones/:zone_id/load_balancers/:id
Перезаписать отдельные свойства PATCH /zones/:zone_id/load_balancers/:id
Перезаписать весь балансировщик нагрузки PUT /zones/:zone_id/load_balancers/:id