davydov_yuriy_lab_7

This commit is contained in:
S3 2024-12-20 12:03:08 +03:00
parent 0446f023ba
commit 08c16d0cc7

View File

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