Ответ
Облачный балансировщик нагрузки (Cloud Load Balancer) — это управляемый сервис, который автоматически распределяет входящий трафик между несколькими целевыми экземплярами (виртуальными машинами, контейнерами, IP-адресами) в одном или нескольких Availability Zones.
Основные типы и их применение в DevOps:
- Сетевой балансировщик (L4): Работает на транспортном уровне (TCP/UDP). Принимает трафик на основе IP-адреса и порта, и перенаправляет его на цели без анализа содержимого. Пример: AWS Network Load Balancer (NLB). Идеален для высокопроизводительных, низколатентных сценариев (голосовые сервисы, игровые серверы).
- Прикладной балансировщик (L7): Работает на уровне приложений (HTTP/HTTPS). Может анализировать содержимое запросов (заголовки, URL, метод) для принятия решений о маршрутизации. Пример: AWS Application Load Balancer (ALB), GCP HTTP(S) Load Balancer. Позволяет:
- Маршрутизировать на разные группы бэкендов по пути URL (
/api/*→ одна группа,/static/*→ другая). - Снимать SSL-шифрование (SSL Termination).
- Внедрять аутентификацию на уровне LB.
- Маршрутизировать на разные группы бэкендов по пути URL (
Ключевые DevOps-практики:
- Health Checks: LB периодически проверяет здоровье целевых инстансов и исключает нерабочие из ротации.
- Интеграция с Auto Scaling: LB работает в паре с группами автоматического масштабирования, динамически добавляя или удаляя цели.
- Мониторинг: Облачные провайдеры предоставляют детальные метрики (Request Count, Latency, Error Rates), которые интегрируются в системы мониторинга (CloudWatch, Stackdriver, Prometheus).