kurushina_ksenia_lab_7 #335

Merged
Alexey merged 1 commits from kurushina_ksenia_lab_7 into kurushina_ksenia_lab_6 2024-12-15 14:54:15 +04:00
Showing only changes of commit a00d32694b - Show all commits

View File

@ -0,0 +1,30 @@
# Лабораторная работа №7
**Балансировка нагрузки в распределённых системах при помощи открытых технологий**
## Эссе
### Алгоритмы и методы балансировки нагрузки
Балансировка нагрузки обеспечивает равномерное распределение запросов между узлами системы. Основные алгоритмы включают:
1. **Round Robin** запросы направляются узлам по очереди.
2. **Least Connections** выбирается узел с наименьшим числом активных соединений.
3. **Hashing** распределение на основе хэширования, например, IP-адреса клиента.
4. **Weighted Distribution** узлам присваиваются веса в зависимости от их мощности.
### Открытые технологии для балансировки нагрузки
Среди открытых технологий популярны:
- **NGINX** легковесный реверс-прокси, поддерживающий множество алгоритмов.
- **HAProxy** высокопроизводительный инструмент для балансировки TCP/HTTP трафика.
- **Traefik** современный балансировщик, оптимизированный для работы с микросервисами.
### Балансировка нагрузки на базах данных
Для баз данных применяются подходы типа репликации и шардинга.
**Репликация** создает копии данных на нескольких серверах, и запросы могут обрабатываться на ближайшей копии.
**Шардинг** делит данные на части, каждая из которых хранится на отдельном сервере, что позволяет распределять нагрузку.
### Реверс-прокси как элемент балансировки
Реверс-прокси (например, NGINX) выступает посредником между клиентами и серверами.
Он принимает запросы, перенаправляет их на доступные серверы,
а также может выполнять кэширование и SSL-терминацию, уменьшая нагрузку на конечные узлы.