distributed-computing/tasks/mikhailov-ys/lab_7/README.md

25 lines
3.6 KiB
Markdown
Raw Permalink Normal View History

2024-01-07 00:04:25 +04:00
# Отчет по лабораторной работе №7
Выполнил студент гр. ИСЭбд-41 Михайлов Ю.С.
# Эссе на тему балансировки нагрузки
Балансировка нагрузки в распределенных системах - это такой алгоритм, который помогает избежать перегрузки одних узлов системы и застоя других, что повышает производительность системы и ее отказоустойчивость.
Существует несколько методов балансировки нагрузки, например, такие как :
- раунд-робин, или по круговороту; запросы распределяются по серверам ко кругу
- взвешенное распределение, то есть с помощью весовых коэффициентов
- на основе состояния, здесь учитывается загрузка сервера
Данные платформы включают в себя не только балансировку нагрузки, но и кэширование, оптимизацию и шифрование.
Процесс балансировки нагрузки на базах данных отличается от балансировки на серверах.важно принимать во внимание особенности SQL и NoSQL баз данных и выбрать один из методов распределения запросов. Такие как:
- репликация, когда запрос копируется на доступные серверы
- шардинг, такое разделение данных на несколько независимых фрагментов (шардов)
- кластеризация, объединение нескольких баз данных
Также существуют открытие технологии для балансировки, которые позволяют управлять трафиком в различных средах. Например, Nginx, HAProxy, и Apache HTTP Server с модулем mod_proxy_balancer. Эти решения обеспечивают стабильное и эффективное распределение запросов в системе, что улучшает производительность и отказоустойчивость.
Балансировка нагрузки в базах данных является важным аспектом для обеспечения эффективной работы и предотвращения перегрузок на отдельных узлах или серверах. Для этого используются различные методы: репликация данных (создание копий), шардирование (разбиение БД на фрагменты), горизонтальное (добавление узлов) и вертикальное масштабирование (увеличение производительности узлов).
Реверс-прокси в балансировке нагрузки — посредник между клиентами и серверами, распределяет запросы, маршрутизирует трафик, обеспечивает отказоустойчивость, централизованное управление трафиком и кэширование.