DAS_2024_1/kurushina_ksenia_lab_7/README.md
2024-12-09 20:11:15 +04:00

2.7 KiB
Raw Blame History

Лабораторная работа №7

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

Эссе

Алгоритмы и методы балансировки нагрузки

Балансировка нагрузки обеспечивает равномерное распределение запросов между узлами системы. Основные алгоритмы включают:

  1. Round Robin запросы направляются узлам по очереди.
  2. Least Connections выбирается узел с наименьшим числом активных соединений.
  3. Hashing распределение на основе хэширования, например, IP-адреса клиента.
  4. Weighted Distribution узлам присваиваются веса в зависимости от их мощности.

Открытые технологии для балансировки нагрузки

Среди открытых технологий популярны:

  • NGINX легковесный реверс-прокси, поддерживающий множество алгоритмов.
  • HAProxy высокопроизводительный инструмент для балансировки TCP/HTTP трафика.
  • Traefik современный балансировщик, оптимизированный для работы с микросервисами.

Балансировка нагрузки на базах данных

Для баз данных применяются подходы типа репликации и шардинга.

Репликация создает копии данных на нескольких серверах, и запросы могут обрабатываться на ближайшей копии.

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

Реверс-прокси как элемент балансировки

Реверс-прокси (например, NGINX) выступает посредником между клиентами и серверами. Он принимает запросы, перенаправляет их на доступные серверы, а также может выполнять кэширование и SSL-терминацию, уменьшая нагрузку на конечные узлы.