Перейти к основному содержимому

Протоколы и методы балансировки нагрузки

Балансировка нагрузки позволяет распределять входящий трафик между несколькими серверами, чтобы повысить отказоустойчивость и скорость обработки запросов. С помощью FortiGate вы можете настроить балансировку нагрузки между серверами в инфраструктуре Selectel.

При настройке балансировки вы выбираете:

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

Протоколы

Для балансировки нагрузки доступны протоколы на разных уровнях модели OSI:

  • на сетевом и транспортном уровнях (L3–L4): IP, TCP и UDP;
  • уровне приложений (L7): HTTP, HTTPS, IMAPS, POP3S, SMTPS и SSL.

Сохранение сессии

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

Способ сохранения сессииОписание
HTTP, HTTPSHTTP cookieЗапросы с одинаковым cookie передаются на один сервер за межсетевым экраном
IMAPS, POP3S, SMTPS, SSL, HTTPSSSL Session IDЗапросы с одинаковым SSL Session ID передаются на один сервер за межсетевым экраном
TCP, UDP, IPБез сохранения сессииЗапросы передаются на сервер за межсетевым экраном согласно методу балансировки нагрузки

Методы балансировки нагрузки

Метод балансировки определяет, как распределяются запросы между серверами за межсетевым экраном.

StaticЗапросы равномерно передаются на все серверы без учета загруженности серверов
Round RobinЗапросы передаются каждому серверу по очереди
WeightedСерверы с большим весом получают пропорционально больше запросов
Least SessionЗапрос передается на сервер с наименьшим количеством активных сессий
Least RTTЗапрос передается на сервер с минимальным временем приема-передачи (RTT). Значение RTT измеряется с помощью проверки доступности сервера — Health Check типа Ping. Если Health Check не настроен, RTT по умолчанию равно нулю
First AliveВсе запросы направляются на первый доступный сервер. Если сервер недоступен, запросы передаются на следующий сервер
HTTP HostЗапросы распределяются между серверами на основе HTTP-заголовка Host