diff --git a/tasks/grenaderova-aa/lab_7/README.md b/tasks/grenaderova-aa/lab_7/README.md new file mode 100644 index 0000000..a6d506c --- /dev/null +++ b/tasks/grenaderova-aa/lab_7/README.md @@ -0,0 +1,36 @@ +# Отчет по лабораторной работе №7 + +Выполнила студентка гр. ИСЭбд-41 Гренадерова А.А. + +## Задачи + +Написать небольшое эссе (буквально несколько абзацев) своими словами. А помогут Вам в этом вопросы из списка: +1. Какие алгоритмы и методы используются для балансировки нагрузки? +2. Какие открытые технологии существуют для балансировки нагрузки? +3. Как осуществляется балансировка нагрузки на базах данных? +4. Реверс-прокси как один из элементов балансировки нагрузки. + +## Эссе + +Балансировка нагрузки необходима для обеспечения высокой доступности и производительности приложений и сервисов. Алгоритмы и методы балансировки нагрузки включают различные формы распределения нагрузки между несколькими серверами или компонентами системы. + +Некоторые из наиболее распространенных алгоритмов и методов включают: +– Round-Robin: циклически распределяет нагрузку между серверами. +– Weighted Round-Robin: учитывает вес каждого сервера при распределении нагрузки. +– Least Connections: направляет запросы на сервер с наименьшим количеством активных соединений. +– Least Load: основан на измерении текущей загрузки каждого сервера, направляет запрос на сервер с минимальной загрузкой. +– Adaptive Algorithms: анализируют состояние системы, адаптируют распределение нагрузки в режиме реального времени. + +Открытые технологии для балансировки нагрузки включают ряд решений, например: +1. HAProxy: поддерживает балансировку TCP, HTTP и SSL, предоставляет расширенные функции, такие как сжатие контента, кэширование, возможность работать в качестве обратного прокси-сервера. +2. Nginx: может использоваться для балансировки нагрузки с использованием модуля “upstream”. +3. Keepalived: для сервисов, работающих на кластерах серверов. + +Балансировка нагрузки на базе данных может быть реализована различными способами: +1. Балансировку на уровне приложений: могут использовать различные методы для балансировки запросов к базе данных, например, используя пулы соединений или распределяя нагрузку между несколькими подключениями к базе данных. +2. Балансировка на уровне базы данных: MySQL и PostgreSQL предоставляют встроенные механизмы для балансировки нагрузки, такие как репликация и группы доступности. + +Реверс-прокси, такие как HAProxy и Nginx выступают в качестве “первого уровня” защиты и балансируют трафик между серверами приложений. Преимущества: +1. Улучшение производительности: могут кэшировать статический контент. +2. Защита от DDoS-атак: принимают и обрабатывают запросы, а затем направляют их на конечные сервера. +3. Контроль доступа: позволяют администраторам контролировать доступ к различным серверам, ограничивая доступ к определенным IP-адресам или диапазонам адресов.