diff --git a/karamushko_maxim_lab_7/README.md b/karamushko_maxim_lab_7/README.md new file mode 100644 index 0000000..f341ead --- /dev/null +++ b/karamushko_maxim_lab_7/README.md @@ -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**. + +Таким образом, использование разнообразных методов и инструментов балансировки нагрузки позволяет эффективно распределять ресурсы, увеличивать надёжность и упрощать масштабирование распределённых систем, что особенно важно в современных условиях высоких требований к производительности и стабильности. \ No newline at end of file