diff --git a/klyushenkova_ksenia_lab_7/README.md b/klyushenkova_ksenia_lab_7/README.md new file mode 100644 index 0000000..12ab092 --- /dev/null +++ b/klyushenkova_ksenia_lab_7/README.md @@ -0,0 +1,45 @@ +# Клюшенкова Ксения ПИбд-42 +# Лабораторная работа №7 - Балансировка нагрузки в распределённых системах при помощи открытых технологий на примерах + + +## Задание: +Написать небольшое эссе своими словами. + +1. Какие алгоритмы и методы используются для балансировки нагрузки? +2. Какие открытые технологии существуют для балансировки нагрузки? +3. Как осуществляется балансировка нагрузки на базах данных? +4. Реверс-прокси как один из элементов балансировки нагрузки. + +## Эссе: +Балансировка нагрузки представляет собой процесс распределения запросов и информационных потоков между несколькими +вычислительными устройствами с целью оптимизации их функционирования. Это позволяет более эффективно использовать +доступные ресурсы, ускорять выполнение задач и обеспечивать доступность приложений. + +Для балансировки нагрузки используются следующие методы: + +1. Round Robin: Запросы распределяются по серверам по кругу. +2. Least Connections: Запрос отправляется на сервер, который в данный момент имеет наименьшее количество активных подключений. +3. Weighted Round Robin: Модификация Round Robin, где серверам присваиваются веса. Серверы с большим весом получают больше запросов. +4. Weighted Least Connections: Серверам присваиваются веса (позволяет учитывать производительность или мощность серверов). +5. Health Checks: Сервисы динамически проверяют состояние серверов и направляют трафик только на работающие узлы. +6. Active-Passive: Один активный сервер обслуживает запросы, а второй готов к работе в случае сбоя первого. +7. Content-Based Routing: Запросы маршрутизируются на основе содержимого. +8. Adaptive Load Balancing: Методы распределения нагрузки динамически меняются в зависимости от текущей загруженности системы и времени отклика. + +Существующие открытые технологии для балансировки нагрузки: + +1. NGINX: Поддерживает загрузку балансировки и может конфигурироваться для различных методов. +2. HAProxy: Поддерживает как TCP, так и HTTP, а также предлагает расширенные возможности мониторинга. +3. Kubernetes: Система для автоматизации развертывания, масштабирования и управления контейнеризованными приложениями. +4. Traefik: Балансировщик нагрузки, непосредственно интегрирующийся с системами оркестрации. + +Основные подходы к балансировке нагрузки на базы данных: +1. Распределение нагрузки за счёт создания копий баз данных (Репликация). +2. Разбиение даннх на части и распределение их по нескольким серверам (Шардинг). +3. Кэширование (увеличивает скорость доступа к данным, храня часто запрашиваемую информацию). +4. Распределение входящих запросов между несколькими серверами баз данных. +5. Объединение нескольких серверов в единую систему. + +Реверс-прокси — это сервер, который находится между пользователями и экземплярами приложений. Он перенаправляет запросы +от пользователей в бэкенд и выполняет дополнительные функции (предоставление SSL-сертификатов и ведение логов). Он +помогает распределять запросы между несколькими серверами, обеспечивая высокую доступность и масштабируемость приложений. \ No newline at end of file