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

4.3 KiB
Raw Blame History

Лабораторная работа №7

Балансировка нагрузки в распределённых системах при помощи открытых технологий на примерах

Балансировка нагрузки - это про распределение рабочих нагрузок с целью оптимизации, повышения производительности системы.

Основные алгоритмы и методы балансировки нагрузки: Круговая маршрутизация (запрашивает каждую из машин по очереди) - данный метод не учитывает нагрузку серверов, что может привести к перегрузке, но зато он очень простой в исполнении. Метод Минимального количества подключений (запросы идут на менее загруженный сервер) - закрывает недостаток предыдущего метода, так как в таком случае мы избегаем перегрузки. Взвешенный круговой алгоритм(запросы идут на сервер с наименьшим временем отклика) - алгоритм основен на круговом, но более совершенствованный. С помощью него можно обойти перегрузку, так как учитывается производительность серверов. Также есть динамические алгоритмы балансировки, которые будут подстраиваться под текущую загрузку и производительность серверов.

Для реализации балансировки технологий можно использовать следующие технологии:

  1. Nginx (широко используется в веб-приложениях)
  2. Kubernetes
  3. Apache HTTP-сервер
  4. Другие Выбор технологии зависит от множества факторов, таких как: размер и архитектура системы, требования к производительности и тд.

На базах данных можно использовать шардинг или кэширование. Шардинг помогает распределить данные по нескольким серверам, тем самым увеличивая масштабируемость и производительность, в то время как кэширование оптимизирует доступ к часто запрашиваемым данным, уменьшая нагрузку на базу данных и ускоряя обработку запросов.

Реверс-прокси действует как посредник между клиентом и сервером. Он скрывает серверную инфраструктуру, выполняет балансировку нагрузки, кэширует ответы с сервера, а также может отвечать за безопасность. Этот сервер принимает запросы от клиентов и перенаправляет их на соответствующие серверы. Это позволяет равномерно распределять нагрузку, чтобы избежать перегрузок какого-либо сервера. Также, если случился сбой на сервере реверс-прокси может автоматически перенаправлять все на работающие сервер.

Балансировка нагрузки - ключевой элемент современных вычислительных систем. Она помогает улучшить производительность, гарантирует высокую доступность и устойчивость систем к сбоям. Правильная балансировка нагрузки путь к успешной работе сервисов и приложений.