forked from Alexey/DAS_2024_1
24 lines
2.0 KiB
Markdown
24 lines
2.0 KiB
Markdown
|
# Балансировка нагрузки в распределённых системах
|
|||
|
|
|||
|
>Балансировка нагрузки - распределение сетевых или вычислительных нагрузок между несколькими серверами или ресурсами для оптимизации производительности, надежности и времени отклика.
|
|||
|
|
|||
|
Существуют такие **алгоритмы** для балансировки нагрузки, как:
|
|||
|
|
|||
|
- **Round Robin** — запросы идут по очереди на серверы.
|
|||
|
- **Least Connections** — запрос направляется на сервер с наименьшей загрузкой.
|
|||
|
- **Weighted Round Robin** — учитывает мощность серверов.
|
|||
|
|
|||
|
Ну и одними из популярных **технологий**, являются:
|
|||
|
|
|||
|
- **NGINX** и **HAProxy** — балансировщики на уровне HTTP/TCP.
|
|||
|
- **Kubernetes Ingress** — управляет балансировкой в контейнерных средах.
|
|||
|
|
|||
|
Также можно осуществить балансировку нагрузки на **базах данных**, с помощью:
|
|||
|
|
|||
|
- **Чтение/Запись с репликами** — чтение с реплик, запись в мастер.
|
|||
|
- **Шардинг** — деление данных по узлам.
|
|||
|
- **PgBouncer** — управление пулами соединений.
|
|||
|
|
|||
|
Для балансировки нагрузки также можно использовать **реверс-прокси**.
|
|||
|
|
|||
|
>Реверс-прокси - это сервер, который принимает клиентские запросы и перенаправляет их на соответствующие внутренние сервера. Также он может быть использован для балансировки, кэширования и безопасности.
|