Выбор ответа Junior Балансировка и nginx спрашивают часто обновлено
L4 и L7 балансировка
Вопрос
Нужно направлять /api/* на один пул серверов, а /static/* на другой. Какой балансировщик для этого нужен?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: L7: он разбирает HTTP и видит путь запроса. Путь это часть HTTP-запроса, его видит только балансировщик прикладного уровня (nginx, HAProxy в режиме http, Envoy, ALB).
Варианты ответа
- L4: он быстрее и видит всё содержимое пакетов
- Любой: путь передаётся в TCP-заголовке
- DNS-балансировка по записям A
- L7: он разбирает HTTP и видит путь запросаправильный ответ
Разбор
Путь это часть HTTP-запроса, его видит только балансировщик прикладного уровня (nginx, HAProxy в режиме http, Envoy, ALB). L4 работает с IP и портами и не разбирает HTTP, особенно если внутри TLS. В TCP-заголовке пути нет. DNS вообще не видит запросов, только имя хоста при резолвинге.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.