distributed-computing/tasks/nikiforova-ts/Lab_7/Readme.md
2023-12-18 17:38:27 +04:00

4.7 KiB
Raw Blame History

Отчёт по лабораторной работе №7

Выполнила: студентка гр. ИСЭбд-41 Никифорова Татьяна Сергеевна.

Какие алгоритмы и методы используются для балансировки нагрузки?

Балансировка нагрузки — это процесс распределения рабочей нагрузки между ресурсами с целью оптимизации производительности, обеспечения стабильности и предотвращения перегрузок. Существует несколько алгоритмов и методов для балансировки нагрузки в различных контекстах, таких как серверы приложений, сетевые системы и базы данных.

Round Robin (Круговой обход): Запросы распределяются по кругу между серверами. Этот метод прост в реализации, но не учитывает актуальную нагрузку на серверы. Weighted Round Robin (Взвешенный круговой обход): Каждому серверу присваивается вес (пропорциональный его мощности), и запросы распределяются в соответствии с этими весами. Least Connections (С наименьшим числом соединений): Запросы направляются к серверу с наименьшим числом активных соединений. Это учитывает текущую нагрузку на сервер, что может быть полезно при различной интенсивности запросов. IP Hash: Использует хеш-функцию от IP-адреса клиента для определения сервера, к которому следует направить запрос. Это обеспечивает консистентность направления запросов от одного и того же клиента к одному серверу.

Какие открытые технологии существуют для балансировки нагрузки?

Существует множество открытых технологий для балансировки нагрузки. Двое из них включают в себя: Nginx: Это веб-сервер и реверс-прокси, который также обладает функциональностью балансировки нагрузки. Nginx известен своей высокой производительностью и эффективностью. Apache HTTP Server с модулем mod_proxy_balancer: Apache является одним из самых популярных веб-серверов, и его модуль mod_proxy_balancer предоставляет функциональность для балансировки нагрузки.

Как осуществляется балансировка нагрузки на базах данных?

Балансировка нагрузки на базах данных осуществляется различными методами: Шардирование: Разделение базы данных на фрагменты (шарды), каждый обрабатываемый отдельным сервером. Репликация: Создание копий базы данных для распределения запросов на чтение и повышения отказоустойчивости. Кластеризация: группа взаимосвязанных серверов, которые работают вместе для обработки запросов и обеспечения отказоустойчивости.

Реверс-прокси как один из элементов балансировки нагрузки.

Реверс-прокси — это элемент инфраструктуры, который выступает в качестве посредника между клиентами и серверами. Применение реверс-прокси в балансировке нагрузки помогает оптимизировать производительность, обеспечивать отказоустойчивость и улучшать управляемость трафиком в сети. Это важный элемент в построении эффективных и масштабируемых систем