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** — управление пулами соединений.
|
||
|
||
Для балансировки нагрузки также можно использовать **реверс-прокси**.
|
||
|
||
>Реверс-прокси - это сервер, который принимает клиентские запросы и перенаправляет их на соответствующие внутренние сервера. Также он может быть использован для балансировки, кэширования и безопасности. |