Evolution
Тема интерфейса

Типы балансировщиков

Балансировщики нагрузки бывают двух основных типов: сетевые балансировщики и балансировщики прикладного уровня.

Сетевой балансировщик

Сетевой балансировщик работает на транспортном уровне (L4).

Основные характеристики:

  • Работает на транспортном уровне (TCP/UDP) и использует сетевую информацию (IP-адреса). Распределяет трафик на основе IP-адресов и номеров портов TCP/UDP.

  • Не анализирует содержимое запроса. Определяет, откуда и на какой порт приходит трафик, и направляет его на свободный сервер.

  • Подходит для сервисов с простыми или нестандартными протоколами, например для баз данных, почтовых серверов, игр или API.

В Load Balancer используются сетевые балансировщики нагрузки: они принимают и распределяют трафик, поступающий по TCP-протоколу.

Балансировщик прикладного уровня

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

Основные характеристики:

  • Работает на уровне приложений.

  • Анализирует содержимое запросов, например URL или HTTP-заголовки.

  • Выбирает сервер не только по IP-адресу и порту, но и в зависимости от содержимого запроса. Например, запрос к example.com/shop можно направить на один сервер, запрос к example.com/blog — на другой.

  • Подходит для сложных сайтов, где важна интеллектуальная маршрутизация, проведение A/B-тестов, защита от ботов и т. д.

Балансировщики прикладного уровня в Load Balancer ожидаются в ближайших релизах.

Выбор типа балансировщика

В таблице приведены основные задачи, которые решают балансировщики сетевого и прикладного уровней.

Задача

Сетевые балансировщики (L4)

Балансировщики прикладного уровня (L7)

Массовая обработка TCP/UDP трафика

Да

Гибкая маршрутизация HTTP/HTTPS-трафика, в том числе по содержимому запросов

Да