diff --git a/fadeeva_nastya_lab_7/README.md b/fadeeva_nastya_lab_7/README.md new file mode 100644 index 0000000..09bd441 --- /dev/null +++ b/fadeeva_nastya_lab_7/README.md @@ -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-терминация, мониторинг и логирование.