Merge pull request '[Л/Р 7] Никифорова Татьяна' (#139) from tanya_nik16/distributed-computing:Nikiforova-TS-Lab-7 into main

Reviewed-on: http://student.git.athene.tech/v.moiseev/distributed-computing/pulls/139
This commit is contained in:
Vladislav Moiseev 2023-12-20 23:45:48 +04:00
commit 621a6f948d

View File

@ -0,0 +1,31 @@
# Отчёт по лабораторной работе №7
Выполнила: студентка гр. ИСЭбд-41 Никифорова Татьяна Сергеевна.
## Какие алгоритмы и методы используются для балансировки нагрузки?
Балансировка нагрузки — это процесс распределения рабочей нагрузки между ресурсами с целью оптимизации производительности, обеспечения стабильности и предотвращения перегрузок. Существует несколько алгоритмов и методов для балансировки нагрузки в различных контекстах, таких как серверы приложений, сетевые системы и базы данных.
Round Robin (Круговой обход): Запросы распределяются по кругу между серверами. Этот метод прост в реализации, но не учитывает актуальную нагрузку на серверы.
Weighted Round Robin (Взвешенный круговой обход): Каждому серверу присваивается вес (пропорциональный его мощности), и запросы распределяются в соответствии с этими весами.
Least Connections (С наименьшим числом соединений): Запросы направляются к серверу с наименьшим числом активных соединений. Это учитывает текущую нагрузку на сервер, что может быть полезно при различной интенсивности запросов.
IP Hash: Использует хеш-функцию от IP-адреса клиента для определения сервера, к которому следует направить запрос. Это обеспечивает консистентность направления запросов от одного и того же клиента к одному серверу.
## Какие открытые технологии существуют для балансировки нагрузки?
Существует множество открытых технологий для балансировки нагрузки. Двое из них включают в себя:
Nginx: Это веб-сервер и реверс-прокси, который также обладает функциональностью балансировки нагрузки. Nginx известен своей высокой производительностью и эффективностью.
Apache HTTP Server с модулем mod_proxy_balancer: Apache является одним из самых популярных веб-серверов, и его модуль mod_proxy_balancer предоставляет функциональность для балансировки нагрузки.
## Как осуществляется балансировка нагрузки на базах данных?
Балансировка нагрузки на базах данных осуществляется различными методами:
Шардирование: Разделение базы данных на фрагменты (шарды), каждый обрабатываемый отдельным сервером.
Репликация: Создание копий базы данных для распределения запросов на чтение и повышения отказоустойчивости.
Кластеризация: группа взаимосвязанных серверов, которые работают вместе для обработки запросов и обеспечения отказоустойчивости.
## Реверс-прокси как один из элементов балансировки нагрузки.
Реверс-прокси — это элемент инфраструктуры, который выступает в качестве посредника между клиентами и серверами.
Применение реверс-прокси в балансировке нагрузки помогает оптимизировать производительность, обеспечивать отказоустойчивость и улучшать управляемость трафиком в сети. Это важный элемент в построении эффективных и масштабируемых систем