Выбор ответа Junior Балансировка и nginx спрашивают часто обновлено

L4 и L7 балансировка

Вопрос

Нужно направлять /api/* на один пул серверов, а /static/* на другой. Какой балансировщик для этого нужен?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: L7: он разбирает HTTP и видит путь запроса. Путь это часть HTTP-запроса, его видит только балансировщик прикладного уровня (nginx, HAProxy в режиме http, Envoy, ALB).

Варианты ответа

  1. L4: он быстрее и видит всё содержимое пакетов
  2. Любой: путь передаётся в TCP-заголовке
  3. DNS-балансировка по записям A
  4. L7: он разбирает HTTP и видит путь запросаправильный ответ

Разбор

Путь это часть HTTP-запроса, его видит только балансировщик прикладного уровня (nginx, HAProxy в режиме http, Envoy, ALB). L4 работает с IP и портами и не разбирает HTTP, особенно если внутри TLS. В TCP-заголовке пути нет. DNS вообще не видит запросов, только имя хоста при резолвинге.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.