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