Merge pull request 'klyushenkova_ksenia_lab_7 is ready' (#388) from klyushenkova_ksenia_lab_7 into main
Reviewed-on: #388
This commit is contained in:
commit
750870c533
45
klyushenkova_ksenia_lab_7/README.md
Normal file
45
klyushenkova_ksenia_lab_7/README.md
Normal file
@ -0,0 +1,45 @@
|
||||
# Клюшенкова Ксения ПИбд-42
|
||||
# Лабораторная работа №7 - Балансировка нагрузки в распределённых системах при помощи открытых технологий на примерах
|
||||
|
||||
|
||||
## Задание:
|
||||
Написать небольшое эссе своими словами.
|
||||
|
||||
1. Какие алгоритмы и методы используются для балансировки нагрузки?
|
||||
2. Какие открытые технологии существуют для балансировки нагрузки?
|
||||
3. Как осуществляется балансировка нагрузки на базах данных?
|
||||
4. Реверс-прокси как один из элементов балансировки нагрузки.
|
||||
|
||||
## Эссе:
|
||||
Балансировка нагрузки представляет собой процесс распределения запросов и информационных потоков между несколькими
|
||||
вычислительными устройствами с целью оптимизации их функционирования. Это позволяет более эффективно использовать
|
||||
доступные ресурсы, ускорять выполнение задач и обеспечивать доступность приложений.
|
||||
|
||||
Для балансировки нагрузки используются следующие методы:
|
||||
|
||||
1. Round Robin: Запросы распределяются по серверам по кругу.
|
||||
2. Least Connections: Запрос отправляется на сервер, который в данный момент имеет наименьшее количество активных подключений.
|
||||
3. Weighted Round Robin: Модификация Round Robin, где серверам присваиваются веса. Серверы с большим весом получают больше запросов.
|
||||
4. Weighted Least Connections: Серверам присваиваются веса (позволяет учитывать производительность или мощность серверов).
|
||||
5. Health Checks: Сервисы динамически проверяют состояние серверов и направляют трафик только на работающие узлы.
|
||||
6. Active-Passive: Один активный сервер обслуживает запросы, а второй готов к работе в случае сбоя первого.
|
||||
7. Content-Based Routing: Запросы маршрутизируются на основе содержимого.
|
||||
8. Adaptive Load Balancing: Методы распределения нагрузки динамически меняются в зависимости от текущей загруженности системы и времени отклика.
|
||||
|
||||
Существующие открытые технологии для балансировки нагрузки:
|
||||
|
||||
1. NGINX: Поддерживает загрузку балансировки и может конфигурироваться для различных методов.
|
||||
2. HAProxy: Поддерживает как TCP, так и HTTP, а также предлагает расширенные возможности мониторинга.
|
||||
3. Kubernetes: Система для автоматизации развертывания, масштабирования и управления контейнеризованными приложениями.
|
||||
4. Traefik: Балансировщик нагрузки, непосредственно интегрирующийся с системами оркестрации.
|
||||
|
||||
Основные подходы к балансировке нагрузки на базы данных:
|
||||
1. Распределение нагрузки за счёт создания копий баз данных (Репликация).
|
||||
2. Разбиение даннх на части и распределение их по нескольким серверам (Шардинг).
|
||||
3. Кэширование (увеличивает скорость доступа к данным, храня часто запрашиваемую информацию).
|
||||
4. Распределение входящих запросов между несколькими серверами баз данных.
|
||||
5. Объединение нескольких серверов в единую систему.
|
||||
|
||||
Реверс-прокси — это сервер, который находится между пользователями и экземплярами приложений. Он перенаправляет запросы
|
||||
от пользователей в бэкенд и выполняет дополнительные функции (предоставление SSL-сертификатов и ведение логов). Он
|
||||
помогает распределять запросы между несколькими серверами, обеспечивая высокую доступность и масштабируемость приложений.
|
Loading…
Reference in New Issue
Block a user