DAS_2024_1/rogashova_ekaterina_lab_7/readme.md
2024-11-18 14:20:48 +04:00

27 lines
4.3 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. Nginx (широко используется в веб-приложениях)
2. Kubernetes
3. Apache HTTP-сервер
4. Другие
Выбор технологии зависит от множества факторов, таких как: размер и архитектура системы, требования к производительности и тд.
На базах данных можно использовать шардинг или кэширование.
Шардинг помогает распределить данные по нескольким серверам, тем самым увеличивая масштабируемость и производительность, в то время как кэширование оптимизирует доступ к часто запрашиваемым данным, уменьшая нагрузку на базу данных и ускоряя обработку запросов.
Реверс-прокси действует как посредник между клиентом и сервером. Он скрывает серверную инфраструктуру, выполняет балансировку нагрузки, кэширует ответы с сервера, а также может отвечать за безопасность.
Этот сервер принимает запросы от клиентов и перенаправляет их на соответствующие серверы. Это позволяет равномерно распределять нагрузку, чтобы избежать перегрузок какого-либо сервера. Также, если случился сбой на сервере реверс-прокси может автоматически перенаправлять все на работающие сервер.
Балансировка нагрузки - ключевой элемент современных вычислительных систем. Она помогает улучшить производительность, гарантирует высокую доступность и устойчивость систем к сбоям.
Правильная балансировка нагрузки путь к успешной работе сервисов и приложений.