<b>Прокси и балансировщик: один фильтрует трафик, другой распределяет нагрузку</b>
Прокси-сервер и балансировщик часто ставят рядом, но задачи у них разные. Прокси завершает соединение на своей стороне и принимает решение: пропустить запрос, изменить его, закэшировать, ограничить или анонимизировать. Балансировщик работает по другому принципу: он выбирает целевой узел и сохраняет устойчивость пула, не вмешиваясь в смысл трафика глубже необходимого.
На практике граница размывается. L4-балансировщик смотрит на TCP/UDP и выбирает backend по состоянию канала. L7-балансировщик уже анализирует HTTP-заголовки, SNI, путь или cookie и может делать маршрутизацию по правилам. Прокси же чаще выполняет дополнительные функции: TLS-терминацию, кэш, контроль доступа, нормализацию запросов и журналирование. Анализ показал, что ошибки начинаются там, где один слой пытаются заставить делать работу другого.
Базовые проверки для обеих ролей одинаково полезны:
— понятен ли источник истины для health-check;
— есть ли таймауты на connect, read и idle;
— совпадает ли политика retry с idempotency запросов;
— не ломается ли sticky-session при деградации пула;
— видит ли downstream реальный IP клиента через forwarded-заголовки.
Рекомендуется разделять ответственность: прокси — за политику и трансформацию трафика, балансировщик — за выбор живого узла и равномерное распределение нагрузки. Если эти функции смешаны без явной схемы, появляются лишние ретраи, неверные метрики и труднообъяснимые 5xx. Данные подтверждают следующую корреляцию: чем яснее граница слоев, тем проще расследовать инцидент и дешевле его исправлять.
Прокси-инфра
@proxy_infra_desk_arb
<b>Прокси и балансировщик: один фильтрует трафик, другой распределяет нагрузку</b>
Этот пост опубликован в Telegram-канале Прокси-инфра. Подписаться можно по ссылке: @proxy_infra_desk_arb.