advanced
Балансировка нагрузки
Распределяйте трафик через L4/L7 balancing, health checks, компромиссы sticky sessions, retries и поведение при overload.
Load balancer распределяет трафик по здоровым backend — L4 (TCP) или L7 (HTTP) — round robin, least connections или consistent hash для ограниченной stickiness.
| Возможность | Назначение | |-------------|------------| | Health checks | Не слать на падающие инстансы | | TLS termination | Сертификаты на edge | | Retries | Повтор idempotent на другой node — осторожно | | Timeouts | Не держать зависшие connections |
Client → ALB/Ingress → Service endpoints (только ready pods)
Настройте **graceful shutdown**: drain in-flight до SIGKILL, чтобы LB не слал на умирающие pods. Retry storms — когда клиент и LB оба ретраят 5xx без jitter.
На интервью: L4 vs L7; sticky sessions для WebSockets; безопасность retry; draining при deploy.
Типовые ошибки: shallow health check (200 при мёртвой БД); бесконечные retries усиливают overload; игнор cross-AZ latency.
Компромисс — равномерное распределение против session affinity и умножения нагрузки retry.
Чеклист:
- Readiness отражает реальные зависимости.
- Drain connections при shutdown.
- Лимит retries с backoff и idempotency keys.
- Error rate per backend.