From 56094094e494402fa0b53a30b70c48c51ee43acb Mon Sep 17 00:00:00 2001 From: EkaterinaR Date: Mon, 18 Nov 2024 14:20:48 +0400 Subject: [PATCH] =?UTF-8?q?=D0=93=D0=BE=D1=82=D0=BE=D0=B2=D0=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- rogashova_ekaterina_lab_7/readme.md | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 rogashova_ekaterina_lab_7/readme.md diff --git a/rogashova_ekaterina_lab_7/readme.md b/rogashova_ekaterina_lab_7/readme.md new file mode 100644 index 0000000..9d6e13c --- /dev/null +++ b/rogashova_ekaterina_lab_7/readme.md @@ -0,0 +1,27 @@ +# Лабораторная работа №7 + +## Балансировка нагрузки в распределённых системах при помощи открытых технологий на примерах + +Балансировка нагрузки - это про распределение рабочих нагрузок с целью оптимизации, повышения производительности системы. + +Основные алгоритмы и методы балансировки нагрузки: +Круговая маршрутизация (запрашивает каждую из машин по очереди) - данный метод не учитывает нагрузку серверов, что может привести к перегрузке, но зато он очень простой в исполнении. +Метод Минимального количества подключений (запросы идут на менее загруженный сервер) - закрывает недостаток предыдущего метода, так как в таком случае мы избегаем перегрузки. +Взвешенный круговой алгоритм(запросы идут на сервер с наименьшим временем отклика) - алгоритм основен на круговом, но более совершенствованный. С помощью него можно обойти перегрузку, так как учитывается производительность серверов. +Также есть динамические алгоритмы балансировки, которые будут подстраиваться под текущую загрузку и производительность серверов. + +Для реализации балансировки технологий можно использовать следующие технологии: +1. Nginx (широко используется в веб-приложениях) +2. Kubernetes +3. Apache HTTP-сервер +4. Другие +Выбор технологии зависит от множества факторов, таких как: размер и архитектура системы, требования к производительности и тд. + +На базах данных можно использовать шардинг или кэширование. +Шардинг помогает распределить данные по нескольким серверам, тем самым увеличивая масштабируемость и производительность, в то время как кэширование оптимизирует доступ к часто запрашиваемым данным, уменьшая нагрузку на базу данных и ускоряя обработку запросов. + +Реверс-прокси действует как посредник между клиентом и сервером. Он скрывает серверную инфраструктуру, выполняет балансировку нагрузки, кэширует ответы с сервера, а также может отвечать за безопасность. +Этот сервер принимает запросы от клиентов и перенаправляет их на соответствующие серверы. Это позволяет равномерно распределять нагрузку, чтобы избежать перегрузок какого-либо сервера. Также, если случился сбой на сервере реверс-прокси может автоматически перенаправлять все на работающие сервер. + +Балансировка нагрузки - ключевой элемент современных вычислительных систем. Она помогает улучшить производительность, гарантирует высокую доступность и устойчивость систем к сбоям. +Правильная балансировка нагрузки путь к успешной работе сервисов и приложений. \ No newline at end of file