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