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