Wiki
Сеть

Load Balancer — что это простыми словами

Load Balancer — распределяет трафик по нескольким backend-серверам. L4 (по IP+порту, HAProxy/nginx) или L7 (по URL/host, nginx/Traefik). Основа HA.

Load Balancer (LB, балансировщик) — устройство/софт, распределяющее входящие запросы между несколькими backend-серверами. Цели: (1) масштабирование (10 бэкендов держат больше трафика чем один), (2) высокая доступность (упал один — трафик идёт на другие), (3) rolling deploy без downtime.

Уровни: L4 (transport layer) — балансировка по IP:port, не смотрит внутрь пакета. Быстрый (HAProxy, LVS, cloud LB типа AWS NLB). L7 (application layer) — смотрит HTTP: URL, host, cookie. Умный (nginx, HAProxy L7 mode, Traefik, Envoy). Может делать routing (`api.example.com` → backend-api, `example.com` → backend-web).

Алгоритмы: round-robin (по кругу), least-connections (кому меньше активных соединений), ip-hash / session-affinity (тот же клиент — на тот же backend, для stateful-сессий), weighted (сервер помощнее получает больше трафика).

У нас — управляемый Hetzner Cloud Load Balancer (LB11 €5/мес, до 20 targets, 10 GB/мес трафика). Для сложных случаев — самостоятельный HAProxy/nginx на отдельном VPS. Kubernetes-услуги автоматически создают LB через `Service type=LoadBalancer`.

Частые вопросы

Нужен ли LB для одного VPS?
Нет, VPS уже имеет публичный IP. LB нужен от двух backend'ов.
Health-check?
LB регулярно (5-30 с) стучит на `/health` бэкендов. Не отвечает — исключается из ротации до восстановления.

Смотрите также