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.