karamushko_m_k_lab_7

This commit is contained in:
= 2024-12-25 17:36:07 +04:00
parent bc087de470
commit b895906d0d

View File

@ -0,0 +1,28 @@
# Лабораторная работа №7: Балансировка нагрузки в распределённых системах с использованием открытых технологий
#### ПИбд-42 || Карамушко Максим
---
## Задание
Написать небольшое эссе (буквально несколько абзацев) своими словами:
1. Какие алгоритмы и методы используются для балансировки нагрузки?
2. Какие открытые технологии существуют для балансировки нагрузки?
3. Как осуществляется балансировка нагрузки на базах данных?
4. Реверс-прокси как один из элементов балансировки нагрузки.
---
## Эссе: "Балансировка нагрузки в распределённых системах с применением открытых технологий"
В мире распределённых систем задача равномерного распределения нагрузки между узлами или серверами является ключевой для обеспечения устойчивой работы. Балансировка нагрузки помогает предотвратить перегрузку отдельных компонентов системы, оптимизировать использование ресурсов и повысить общую производительность.
Для реализации балансировки используются различные алгоритмы. Среди самых известных можно выделить **Round Robin**, при котором запросы последовательно перенаправляются между всеми доступными серверами, обеспечивая равномерное распределение. Более продвинутый подход — **Weighted Round Robin**, который учитывает производительность серверов, направляя больше запросов на более мощные узлы. Ещё одним популярным методом является **Least Connections**, где приоритет отдаётся серверам с наименьшим количеством активных подключений.
Среди открытых технологий, поддерживающих балансировку нагрузки, выделяются **Nginx**, **HAProxy** и **Kubernetes**. **Nginx** и **HAProxy** предлагают гибкость выбора алгоритмов балансировки и способны эффективно работать в высоконагруженных системах. **Kubernetes**, будучи платформой для управления контейнеризированными приложениями, встроенно поддерживает балансировку нагрузки для обеспечения отказоустойчивости
и масштабируемости.
Особое внимание уделяется балансировке нагрузки на уровне баз данных. Здесь широко применяется **репликация**, которая позволяет направлять запросы пользователей на разные копии базы данных. Это не только повышает производительность, но и увеличивает устойчивость к сбоям.
Одним из ключевых элементов балансировки является **реверс-прокси**. Этот компонент действует как промежуточное звено между клиентами и серверами, выполняя такие функции, как кэширование данных, сжатие трафика и фильтрация запросов. Примеры успешных решений в этой области — **Nginx** и **Traefik**.
Таким образом, использование разнообразных методов и инструментов балансировки нагрузки позволяет эффективно распределять ресурсы, увеличивать надёжность и упрощать масштабирование распределённых систем, что особенно важно в современных условиях высоких требований к производительности и стабильности.