advanced
Load balancing
Distribute traffic by health, locality, load, sticky needs, retries, and failure behavior at each layer. Назовите benefit, limit и operational cost.
Балансировщики распределяют запросы по здоровым backend через round-robin, least connections, weighted routing или consistent hashing. L4 маршрутизирует TCP; L7 понимает HTTP path, заголовки и TLS. Sticky session привязывает пользователя к инстансу при локальном состоянии — лучше внешнее хранилище сессий.
Размещайте LB на edge, между сервисами и перед БД через pooler соединений. Настройте health check, graceful drain при деплое и retry без усиления сбоев.
На интервью: L4 против L7, когда нужны sticky session и поведение при падении health check.
Типовые ошибки: retry-шторм через LB; неравномерная нагрузка при долгих соединениях; нет zone-aware маршрутизации в multi-AZ.
Компромисс — гибкость против сложности: знайте, когда достаточно более простого пути.
Чеклист:
- Выберите слой LB и алгоритм под нагрузку.
- Health check и период drain.
- Избегайте лишней session stickiness.
- План failover и cross-AZ.