DAS_2024_1/kurushina_ksenia_lab_7/README.md
2024-12-09 20:11:15 +04:00

31 lines
2.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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