DAS_2024_1/emelyanov_artem_lab_7/Readme.md

2.0 KiB
Raw Blame History

Балансировка нагрузки в распределённых системах

Балансировка нагрузки - распределение сетевых или вычислительных нагрузок между несколькими серверами или ресурсами для оптимизации производительности, надежности и времени отклика.

Существуют такие алгоритмы для балансировки нагрузки, как:

  • Round Robin — запросы идут по очереди на серверы.
  • Least Connections — запрос направляется на сервер с наименьшей загрузкой.
  • Weighted Round Robin — учитывает мощность серверов.

Ну и одними из популярных технологий, являются:

  • NGINX и HAProxy — балансировщики на уровне HTTP/TCP.
  • Kubernetes Ingress — управляет балансировкой в контейнерных средах.

Также можно осуществить балансировку нагрузки на базах данных, с помощью:

  • Чтение/Запись с репликами — чтение с реплик, запись в мастер.
  • Шардинг — деление данных по узлам.
  • PgBouncer — управление пулами соединений.

Для балансировки нагрузки также можно использовать реверс-прокси.

Реверс-прокси - это сервер, который принимает клиентские запросы и перенаправляет их на соответствующие внутренние сервера. Также он может быть использован для балансировки, кэширования и безопасности.