Compare commits
No commits in common. "ea205f8827d548ff13979232f034b1ddaf435c6d" and "bdf567195af491050ead482cab66b289734e503b" have entirely different histories.
ea205f8827
...
bdf567195a
@ -1,43 +0,0 @@
|
|||||||
|
|
||||||
# Цуканова Ирина ПИбд-42
|
|
||||||
# Лабораторная работа №7 - Балансировка нагрузки в распределённых системах при помощи открытых технологий на примерах
|
|
||||||
|
|
||||||
|
|
||||||
## Задание:
|
|
||||||
Написать небольшое эссе своими словами.
|
|
||||||
|
|
||||||
1. Какие алгоритмы и методы используются для балансировки нагрузки?
|
|
||||||
2. Какие открытые технологии существуют для балансировки нагрузки?
|
|
||||||
3. Как осуществляется балансировка нагрузки на базах данных?
|
|
||||||
4. Реверс-прокси как один из элементов балансировки нагрузки.
|
|
||||||
|
|
||||||
## Эссе:
|
|
||||||
Балансировка нагрузки в распределённых системах – это процесс равномерного распределения входящих запросов и вычислительных задач на ресурсы.
|
|
||||||
Это производится для того, чтобы предотвратить перегрузку отдельных компонентов системы, а также улучшить ее общую производительность.
|
|
||||||
|
|
||||||
Для балансировки нагрузки существуют специальные алгоритмы и методы, наиболее популярными из них являются следующие:
|
|
||||||
|
|
||||||
1. Круговой алгоритм (Round Robin) - направляет каждый новый запрос на следующий сервер по кругу.
|
|
||||||
2. Взвешенный круговой алгоритм (Weighted Round Robin) - расширение для предыдущего, только серверам назначаются веса, в зависимости от этого веса
|
|
||||||
сервера и получаются запросы.
|
|
||||||
3. Хеширование клиента (Client Hashing) - запросы от одного клиента всегда направляются на один и тот же сервер.
|
|
||||||
4. Least Connections - запрос направляется на сервер с наименьшим числом активных подключений.
|
|
||||||
5. Least Response Time - выбирается сервер с наименьшим временем отклика.
|
|
||||||
|
|
||||||
Что качается существующих открытых технологий для балансировки нагрузки,
|
|
||||||
|
|
||||||
Конечно существуют и уже готовые открытые решения для балансировки нагрузки, позволяющие распределять трафик между серверами и управлять потоками данных.
|
|
||||||
Наиболее популярен веб-сервер **NGINX**.
|
|
||||||
Он поддерживает различные алгоритмы, такие как Round Robin и Least Connections, и может работать с большими объемами трафика.
|
|
||||||
Также можно выделить **HAProxy**, который специализируется на обработке больших объемов HTTP и TCP-трафика, и
|
|
||||||
оптимизированный для работы с контейнерами и микросервисами, такими как Docker и Kubernetes, **Traefik**.
|
|
||||||
|
|
||||||
Существует балансировка нагрузки и для баз данных. Это важно для обеспечения высокой производительности и отказоустойчивости.
|
|
||||||
Методы балансировки нагрузки для баз данных включают:
|
|
||||||
1. Разделение потоков на чтение и запись.
|
|
||||||
2. Разбиение БД на сегменты, каждый из которых хранит определенную часть данных.
|
|
||||||
3. Кеширование на уровне базы данных.
|
|
||||||
|
|
||||||
Одним из элементов балансировки нагрузки является реверс-прокси (reverse proxy). Его задача - принимать входящий трафик и направлять на внутренние серверы.
|
|
||||||
Это позволяет скрывать внутреннюю архитектуру системы, улучшать безопасность, а также управлять распределением нагрузки.
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user