# Отчет по лабораторной работе №7
Выполнил студент гр. ИСЭбд-41 Казаков Е.В.

## Вопросы
Написать небольшое эссе (буквально несколько абзацев) своими словами. А помогут Вам в этом вопросы из списка:

1.Какие алгоритмы и методы используются для балансировки нагрузки?

2.Какие открытые технологии существуют для балансировки нагрузки?

3.Как осуществляется балансировка нагрузки на базах данных?

4.Реверс-прокси как один из элементов балансировки нагрузки.

## Эссе

1. Алгоритмы и методы балансировки нагрузки
   - Раунд-робин: Запросы распределяются между серверами в равных долях, каждый сервер получает запрос в порядке очереди.
   - Взвешенный раунд-робин: Запросы распределяются между серверами с учетом их пропускной способности или нагрузки, чтобы более мощные серверы получали больше запросов.
   - IP хэширование: Используется IP-адрес клиента для распределения запросов. Каждый клиент получает один и тот же сервер при повторном обращении.
   - Алгоритмы предсказывающего анализа: Используются статистические данные и анализ прошлых запросов для предсказания оптимального распределения нагрузки.

2. Открытые технологии балансировки нагрузки
   - Nginx: Легкий веб-сервер, способный работать как прокси-сервер и балансировщик нагрузки.
   - HAProxy: Балансировщик нагрузки с открытым исходным кодом, специализирующийся на высокой доступности и производительности.
   - Apache HTTP Server с модулем mod_proxy_balancer: Популярный веб-сервер, позволяющий выполнить балансировку нагрузки с помощью модуля mod_proxy_balancer.
   - Microsoft Network Load Balancing (NLB): Решение для балансировки нагрузки в среде Windows, встроенное в ОС Windows Server.

3. Балансировка нагрузки на базах данных
   Балансировка нагрузки на базах данных может быть достигнута с использованием следующих методов:
   - Репликация: Создание дубликатов баз данных для распределения нагрузки между серверами.
   - Шардинг: Разбиение данных на отдельные серверы, каждый из которых отвечает за определенную часть информации.
   - Кластеризация: Совместное использование ресурсов нескольких серверов для достижения более высокой производительности и отказоустойчивости.

4. Реверс-прокси как один из элементов балансировки нагрузки
   Реверс-прокси является компонентом, который обрабатывает входящие запросы от клиентов и перенаправляет их на соответствующие серверы. Он может быть сконфигурирован для выполнения балансировки нагрузки, решая такие задачи, как:
   - Распределение запросов между несколькими серверами.
   - Мониторинг состояния серверов и исключение недоступных серверов из пула.
   - Кеширование ответов для улучшения производительности.