nikolaeva_yana_lab_7

This commit is contained in:
Yana 2024-12-10 21:15:34 +04:00
parent 29e7ed4a36
commit 6e3d42e3a0

View File

@ -0,0 +1,34 @@
## Эссе: Балансировка нагрузки в распределённых системах
### Алгоритмы и методы для балансировки нагрузки
Балансировка нагрузки — это процесс распределения входящего трафика или задач между несколькими серверами
для оптимизации использования ресурсов, повышения производительности и обеспечения отказоустойчивости.
Наиболее популярные алгоритмы включают:
1. **Round Robin** (Циклический алгоритм): запросы распределяются равномерно по кругу между серверами.
2. **Least Connections** (Минимум подключений): запросы направляются на сервер с наименьшим числом активных соединений.
3. **Weighted Round Robin** (Взвешенный цикл): учитывает производительность серверов, направляя больше трафика на более мощные машины.
4. **Hash-Based Methods**: трафик распределяется на основе хэша данных, например, IP-адреса клиента.
### Открытые технологии для балансировки нагрузки
Среди открытых решений популярны:
- **NGINX**: мощный реверс-прокси, поддерживающий балансировку на основе различных алгоритмов.
- **HAProxy**: высокопроизводительный прокси-сервер, предназначенный для распределения трафика и работы с высокими нагрузками.
- **Traefik**: современный инструмент для балансировки в микросервисах, интегрирующийся с оркестраторами, такими как Kubernetes.
### Балансировка нагрузки на базах данных
Для распределения нагрузки на базах данных часто применяются репликация и шардирование:
- **Репликация**: данные копируются между несколькими серверами. Запросы на чтение направляются на реплики, а записи — на основной сервер.
- **Шардирование**: данные делятся на части (шарды), каждая из которых обрабатывается отдельным сервером, что снижает нагрузку на каждый из них.
### Реверс-прокси как элемент балансировки нагрузки
Реверс-прокси играет ключевую роль в балансировке нагрузки, так как он находится между клиентами и серверами.
Он не только распределяет запросы, но и может кэшировать ответы, сжимать данные и обеспечивать безопасность.
NGINX и HAProxy являются классическими примерами реверс-прокси.