distributed-computing/tasks/khalitova-am/lab_7/README.md

18 lines
3.3 KiB
Markdown
Raw Normal View History

2023-12-18 12:35:33 +04:00
# Отчёт по лабораторной работе №6
Выполнила: студентка гр. ИСЭбд-41 Халитова А.М.
Балансировкой нагрузки называется распределение нагрузки между обрабатывающими элементами распределенной системы. Она используется для того, чтобы каждый элемент не перегружался и не простаивал во время работы программы (системы), т.е. для максимизации пропускной способности системы.
2023-12-18 12:39:27 +04:00
2023-12-18 12:35:33 +04:00
Для балансировки могут использоваться следующие алгоритмы:
1. Round Robin круговой алгоритм, равномерно и циклично распределяет запросы по серверам.
2. Weighted Round Robin при распределении запросов назначает различные веса ресурсам в зависимости от их производительности или доступности. Чем мощнее машина, тем больше запросов обрабатывает.
3. Least Connections - каждый поступивший запрос отправляется серверу с наименьшим количеством активных подключений.
4. Sticky Sessions - сервер, обработавший запрос, закрепляется для сессии пользователя, т.е. один клиент направляется всегда на один и тот же сервер.
2023-12-18 12:39:27 +04:00
2023-12-18 12:35:33 +04:00
Также существуют открытие технологии для балансировки, которые позволяют управлять трафиком в различных средах. Например, Nginx, HAProxy, и Apache HTTP Server с модулем mod_proxy_balancer. Эти решения обеспечивают стабильное и эффективное распределение запросов в системе, что улучшает производительность и отказоустойчивость.
2023-12-18 12:39:27 +04:00
2023-12-18 12:35:33 +04:00
Балансировка нагрузки в базах данных является важным аспектом для обеспечения эффективной работы и предотвращения перегрузок на отдельных узлах или серверах. Для этого используются различные методы: репликация данных (создание копий), шардирование (разбиение БД на фрагменты), горизонтальное (добавление узлов) и вертикальное масштабирование (увеличение производительности узлов).
2023-12-18 12:39:27 +04:00
Реверс-прокси в балансировке нагрузки — посредник между клиентами и серверами, распределяет запросы, маршрутизирует трафик, обеспечивает отказоустойчивость, централизованное управление трафиком и кэширование.