distributed-computing/tasks/lyamzina-ma/lab_7/README.md
2023-12-18 18:48:23 +04:00

3.9 KiB
Raw Permalink Blame History

Отчет по лабораторной работе №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, который позволяет использовать его для балансировки нагрузки.

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

Реверс-прокси является важным элементом балансировки нагрузки. Он действует как посредник между клиентами и серверами. Вместо того, чтобы клиенты напрямую обращались к серверам, они отправляют запросы на реверс-прокси, который, исходя из выбранного алгоритма балансировки нагрузки, перенаправляет их на один из доступных серверов. Это помогает распределить нагрузку равномерно и повысить производительность системы.