Merge pull request 'emelyanov_artem_lab_7' (#78) from emelyanov_artem_lab_7 into main

Reviewed-on: #78
This commit is contained in:
Alexey 2024-10-26 11:34:21 +04:00
commit eef1d03249

View File

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