Merge pull request '[Л/Р 7] Казаков Евгений' (#123) from EugeneKazakov/distributed-computing:kazakov-ev-lab_7 into main

Reviewed-on: http://student.git.athene.tech/v.moiseev/distributed-computing/pulls/123
This commit is contained in:
Vladislav Moiseev 2023-12-20 23:14:40 +04:00
commit 025f0a93eb

View File

@ -0,0 +1,39 @@
# Отчет по лабораторной работе №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. Реверс-прокси как один из элементов балансировки нагрузки
Реверс-прокси является компонентом, который обрабатывает входящие запросы от клиентов и перенаправляет их на соответствующие серверы. Он может быть сконфигурирован для выполнения балансировки нагрузки, решая такие задачи, как:
- Распределение запросов между несколькими серверами.
- Мониторинг состояния серверов и исключение недоступных серверов из пула.
- Кеширование ответов для улучшения производительности.