Что такое балансировщик нагрузки
Python
Senior
Без компании
Что такое балансировщик нагрузки
Ответы
Балансировщик нагрузки (Load Balancer) — это сервер или сервис, который распределяет входящий трафик между несколькими серверами для оптимизации производительности, отказоустойчивости и масштабируемости.
**Основные функции:**
- Равномерное распределение запросов между серверами
- Проверка работоспособности серверов (health checks)
- Поддержка сессий (sticky sessions)
- Обеспечение отказоустойчивости
**Примеры алгоритмов балансировки:**
- **Round Robin** — поочередное распределение
- **Least Connections** — выбор сервера с наименьшей нагрузкой
- **IP Hash** — привязка клиента к серверу по IP
**Пример на Python (имитация балансировки):**
```
import random
servers = ["server1", "server2", "server3"]
def round_robin():
current = 0
while True:
yield servers[current % len(servers)]
current += 1
balancer = round_robin()
print(next(balancer)) # server1
print(next(balancer)) # server2
```
**Где применяется:**
- Веб-приложения
- Микросервисные архитектуры
- Базы данных
- API-сервисы