distributed-computing/tasks/kazakov-ev/lab_7/README.md
2023-12-18 12:24:48 +03:00

39 lines
4.6 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
Выполнил студент гр. ИСЭбд-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. Реверс-прокси как один из элементов балансировки нагрузки
Реверс-прокси является компонентом, который обрабатывает входящие запросы от клиентов и перенаправляет их на соответствующие серверы. Он может быть сконфигурирован для выполнения балансировки нагрузки, решая такие задачи, как:
- Распределение запросов между несколькими серверами.
- Мониторинг состояния серверов и исключение недоступных серверов из пула.
- Кеширование ответов для улучшения производительности.