Merge pull request '[Л/Р 7] Лямзина Мария' (#155) from 2510maria2002/distributed-computing:lyamzina-ma-lab-7 into main

Reviewed-on: http://student.git.athene.tech/v.moiseev/distributed-computing/pulls/155
This commit is contained in:
Vladislav Moiseev 2023-12-21 00:13:50 +04:00
commit a7a1bb622a

View File

@ -0,0 +1,22 @@
# Отчет по лабораторной работе №7
Выполнила студентка гр. ИСЭбд-41 Лямзина М.А.
## Задачи
Написать небольшое эссе (буквально несколько абзацев) своими словами. А помогут Вам в этом вопросы из списка:
1. Какие алгоритмы и методы используются для балансировки нагрузки?
2. Какие открытые технологии существуют для балансировки нагрузки?
3. Как осуществляется балансировка нагрузки на базах данных?
4. Реверс-прокси как один из элементов балансировки нагрузки.
## Эссе
Алгоритмы и методы балансировки нагрузки разнообразны и зависят от конкретных требований и характеристик системы. Некоторые из них включают Round-Robin, Weighted Round-Robin, Least Connections и IP Hashing. Round-Robin последовательно направляет запросы к серверам, а Weighted Round-Robin делает это пропорционально весу серверов. Least Connections выбирает сервер с наименьшим количеством активных соединений, а IP Hashing обеспечивает постоянное направление запросов с одинаковым IP-адресом на один и тот же сервер.
Существует множество открытых технологий для балансировки нагрузки. Наиболее популярными из них являются HAProxy, Nginx и Apache. HAProxy - это высокопроизводительный балансировщик нагрузки с открытым исходным кодом. Nginx, помимо функциональности веб-сервера, также может выполнять функции балансировщика нагрузки. Apache предлагает модуль mod_proxy_balancer, который позволяет использовать его для балансировки нагрузки.
Балансировка нагрузки на базах данных осуществляется различными способами. Горизонтальное масштабирование предполагает распределение данных и запросов между несколькими серверами базы данных для более равномерной нагрузки и повышения производительности. Репликация - это создание и синхронизация копий базы данных для обработки запросов с разных серверов. Это не только повышает отказоустойчивость, но и увеличивает пропускную способность системы.
Реверс-прокси является важным элементом балансировки нагрузки. Он действует как посредник между клиентами и серверами. Вместо того, чтобы клиенты напрямую обращались к серверам, они отправляют запросы на реверс-прокси, который, исходя из выбранного алгоритма балансировки нагрузки, перенаправляет их на один из доступных серверов. Это помогает распределить нагрузку равномерно и повысить производительность системы.