fadeeva_nastya_lab_7 #316

Merged
Alexey merged 1 commits from fadeeva_nastya_lab_7 into main 2024-12-15 14:44:23 +04:00

View File

@ -0,0 +1,22 @@
# Лабораторная работа 7. Балансировка нагрузки в распределённых системах при помощи открытых технологий на примерах
## Задание
Написать небольшое эссе. Вопросы:
1. Какие алгоритмы и методы используются для балансировки нагрузки?
2. Какие открытые технологии существуют для балансировки нагрузки?
3. Как осуществляется балансировка нагрузки на базах данных?
4. Реверс-прокси как один из элементов балансировки нагрузки.
## Эссе по теме
Балансировка нагрузки — это важный момент проектирования распределенных систем, который дает равномерно распределять входящие запросы между несколькими серверами или ресурсами для повышения доступности, производительности и отказоустойчивости.
Для балансировки используют некоторые алгоритмы и методы: Least Connections (минимальная нагрузка), Round Robin (круговой алгоритм), Server Health Check (состояние сервера), Least Response Time (наименьшее время ответа), Random (случайный выбор) и другие. Эти алгоритмы позволяют распределить запросы от клиентов между серверами эффективно и с учетом их текущей загруженности.
Существуем несколько открытых технологий для балансировки нагрузки, например, Nginx, HAProxy, Apache HTTP Server и другие. Они позволяют настроить прокси-серверы, которые принимают запросы от клиентов и передают их на один или несколько серверов приложений, обеспечивая тем самым равномерное распределение нагрузки.
Балансировка нагрузки на базах данных осуществляется для обеспечения доступности и производительности системы. Для этого используются специализированные инструменты, такие как ProxySQL, pgpool-II, MySQL Router и другие. Это позволяет распределять запросы к базам данных между различными узлами, тем самым позволяет разгрузить основной сервер.
Реверс-прокси — это сервер, который принимает запросы от клиентов и перенаправляет их на один или несколько серверов приложений. Он может выполнять несколько функций: балансировка нагрузки, безопасность, кэширование, SSL-терминация, мониторинг и логирование.