Описание продукта Отказоустойчивый балансировщик нагрузки
Описание продукта Отказоустойчивый балансировщик нагрузки
Отказоустойчивый балансировщик нагрузки — это обратный прокси-сервер (reverse proxy), который распределяет трафик между различными услугами Selectel, находящимися в разных регионах и зонах доступности.
Балансировщик нагрузки обеспечивает:
- повышенную отказоустойчивость за счет размещения в двух разных регионах, двойного резервирования внутри каждого региона и отсутствия единой точки отказа;
- отсутствие ограничений на количество целевых серверов и объем передаваемого трафика;
- защиту от DDoS-атак для всего входящего трафика на уровнях L3 и L4 без дополнительных затрат;
- обслуживание на стороне провайдера — Selectel отвечает за настройку балансировщика, обеспечение отказоустойчивости и мониторинг.
Сценарии использования
Балансировщик нагрузки работает с услугами Selectel:
Балансировщик можно использовать для:
- построения отказоустойчивых сервисов, зарезервированных в нескольких регионах;
- балансировки нагрузки между выделенными серверами;
- построения гибридных инфраструктур на базе выделенных серверов и виртуальных машин Selectel.
Уровни балансировки
По модели OSI балансировка возможна на уровнях:
- L4 по протоколу TCP (транспортный уровень) — балансировщик перенаправляет запросы на серверы по заданным алгоритмам;
- L7 по протоколу HTTP (прикладной уровень) — балансировщик анализирует содержимое запроса и выбирает, на какой сервер отправить запрос.
На обоих уровнях доступны разные типы балансировки:
- Round Robin — алгоритм кругового обслуживания, при котором запросы передаются каждому серверу по очереди;
- Weighted Round Robin — взвешенный алгоритм кругового обслуживания, при котором каждому серверу присваивается весовой коэффициент, соответствующий его производительности и мощности. На серверы с большим коэффициентом передается больше запросов;
- Source IP hash — алгоритм, при котором в зависимости от HTTP-заголовка или IP-адреса выбирается предпочтительный сервер для получения запроса;
- Least Connections — алгоритм, при котором запрос отправляется на наименее загруженный сервер.
Сравнение уровней балансировки:
TCP | HTTP | |
---|---|---|
Тип трафика | Любой | HTTP |
Публичные порты | Любые | 443 (с SSL) 80 (без SSL) |
Тип бэкенда | TCP | HTTP |
Поддержка SSL Offloading | Нет | Да |
Поддержка Let’s Encrypt сертификатов | Нет | Да |
Редирект с HTTP на HTTPS | Нет | Да (при активном SSL Offloading) |
Поддержка HTTP/2 | Нет | Да (при активном SSL Offloading) |
Проброс IP-адресов источников | Через протокол прокси, если он включен на бэкенде | Через стандартный заголовок X-Real-IP |
Поддержка active/standby | Нет | Нет |
Поддержка сессий | Нет | Да (sticky sessions) |