27 lines
4.3 KiB
Markdown
27 lines
4.3 KiB
Markdown
# Лабораторная работа №7
|
||
|
||
## Балансировка нагрузки в распределённых системах при помощи открытых технологий на примерах
|
||
|
||
Балансировка нагрузки - это про распределение рабочих нагрузок с целью оптимизации, повышения производительности системы.
|
||
|
||
Основные алгоритмы и методы балансировки нагрузки:
|
||
Круговая маршрутизация (запрашивает каждую из машин по очереди) - данный метод не учитывает нагрузку серверов, что может привести к перегрузке, но зато он очень простой в исполнении.
|
||
Метод Минимального количества подключений (запросы идут на менее загруженный сервер) - закрывает недостаток предыдущего метода, так как в таком случае мы избегаем перегрузки.
|
||
Взвешенный круговой алгоритм(запросы идут на сервер с наименьшим временем отклика) - алгоритм основен на круговом, но более совершенствованный. С помощью него можно обойти перегрузку, так как учитывается производительность серверов.
|
||
Также есть динамические алгоритмы балансировки, которые будут подстраиваться под текущую загрузку и производительность серверов.
|
||
|
||
Для реализации балансировки технологий можно использовать следующие технологии:
|
||
1. Nginx (широко используется в веб-приложениях)
|
||
2. Kubernetes
|
||
3. Apache HTTP-сервер
|
||
4. Другие
|
||
Выбор технологии зависит от множества факторов, таких как: размер и архитектура системы, требования к производительности и тд.
|
||
|
||
На базах данных можно использовать шардинг или кэширование.
|
||
Шардинг помогает распределить данные по нескольким серверам, тем самым увеличивая масштабируемость и производительность, в то время как кэширование оптимизирует доступ к часто запрашиваемым данным, уменьшая нагрузку на базу данных и ускоряя обработку запросов.
|
||
|
||
Реверс-прокси действует как посредник между клиентом и сервером. Он скрывает серверную инфраструктуру, выполняет балансировку нагрузки, кэширует ответы с сервера, а также может отвечать за безопасность.
|
||
Этот сервер принимает запросы от клиентов и перенаправляет их на соответствующие серверы. Это позволяет равномерно распределять нагрузку, чтобы избежать перегрузок какого-либо сервера. Также, если случился сбой на сервере реверс-прокси может автоматически перенаправлять все на работающие сервер.
|
||
|
||
Балансировка нагрузки - ключевой элемент современных вычислительных систем. Она помогает улучшить производительность, гарантирует высокую доступность и устойчивость систем к сбоям.
|
||
Правильная балансировка нагрузки путь к успешной работе сервисов и приложений. |