awesome-everything EN
↑ Обратно к восхождению

Деплой и инфра

Уровни балансировки: тест с выбором

Суть Синтез юнита балансировки в формате выбора — видимость L4 vs L7, TLS termination, выбор алгоритма, health checks, sticky sessions и connection draining.
Высота — путь к senior
НольJuniorMiddleSenior
Ты на senior-высоте — в орбите
◷ 13 min

Шесть вопросов сквозь весь юнит. Каждый отражает решение, которое ты принимаешь, поднимая или эксплуатируя load balancer — не определение для зубрёжки, а выбор уровня или режим отказа, который надо верно прочитать под нагрузкой.

Цель

Убедись, что связываешь то, что каждый уровень видит, с тем, какую маршрутизацию он включает, и сводишь операционные ручки — алгоритм, health checks, affinity, draining — к отказам, которые они предотвращают.

Викторина

Перед сервисом стоит NLB (L4). Продукт просит направить /api/v2/* в новый пул бэкендов, оставив /api/v1/* на старом. Какой честный ответ и почему?

Викторина

Длительность запросов на бэкендах сильно разнится: большинство отвечают за 5 мс, некоторые — за 2 с. При round-robin p99 плохой и один бокс всегда горячий. Какая смена алгоритма помогает сильнее всего и почему?

Викторина

Нужны одновременно end-to-end шифрование (посередине ничего не расшифровывается) И маршрутизация по пути на краю из одного балансировщика. Что верно?

Викторина

Во время rolling deploy пользователи ловят сбросы соединений посреди запроса всякий раз, когда удаляют старый инстанс. Пул здоров и достаточен по размеру. Какой фикс?

Викторина

Сервис использует cookie-based sticky sessions, чтобы держать in-memory состояние пользователя на одном бэкенде. Нагрузка неравномерна (один бокс горячий) и его нельзя чисто слить во время деплоя. Какой senior-фикс?

Викторина

Команда использует DNS round-robin (две A-записи) как load balancer. Бэкенд умирает, и часть пользователей продолжают получать ошибки минутами. Почему, и что даёт настоящий балансировщик?

Итог

Сквозная линия юнита — одно правило: выбранный уровень решает, что балансировщик видит, а что он видит — решает, что он умеет. L4 форвардит байты по IP и порту — быстро, протокол-агностично, способен на TLS passthrough, но слеп к пути, заголовку и cookie; L7 терминирует соединение, читает HTTP и маршрутизирует по любому из них ценой CPU и крипто на запрос. Поверх уровня лежат операционные ручки, решающие надёжность: least-connections бьёт round-robin при неравномерной длительности запросов, health checks выкидывают мёртвые бэкенды, но не быстрее своего интервала, sticky sessions меняют равномерность и чистый draining на пиннинг состояния (так что сперва выноси состояние), а connection draining даёт текущим запросам завершиться перед выводом бэкенда. И DNS round-robin — не load balancer: ни health-aware, failover ограничен неконтролируемыми TTL и кешами.

Продолжить восхождение ↑Уровни балансировки: тест на припоминание
хоткеи развернуть
поиск
K
пред. пьеса
k
след. пьеса
j
тиры
t
это меню
?
sources3
expand
  1. 01
  2. 02
  3. 03

Trademarks belong to their respective owners. Editorial reference only.