DAS_2024_1/fadeeva_nastya_lab_7/README.md
2024-12-15 02:13:35 +04:00

23 lines
3.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Лабораторная работа 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-терминация, мониторинг и логирование.