DAS_2024_1/presnyakova_victoria_lab_7/readme.md

43 lines
2.8 KiB
Markdown
Raw Normal View History

2024-11-18 18:56:40 +04:00
# Лабораторная работа № 7. Балансировка нагрузки в распределённых системах при помощи открытых технологий на примерах
**Задание**
Написать небольшое эссе (буквально несколько абзацев) своими словами (пожалуйста не пользуйтесь гуглом :). А помогут Вам в этом вопросы из списка:
1. Какие алгоритмы и методы используются для балансировки нагрузки?
2. Какие открытые технологии существуют для балансировки нагрузки?
3. Как осуществляется балансировка нагрузки на базах данных?
4. Реверс-прокси как один из элементов балансировки нагрузки.
# Балансировка нагрузки
Балансировка нагрузки распределяет запросы между серверами для повышения производительности и устойчивости. Популярные алгоритмы:
- **Round Robin** — поочередное распределение запросов.
- **Least Connections** — выбор наименее загруженного сервера.
- **Weighted Round Robin** — учет мощности сервера при распределении.
## Технологии
Для реализации используются инструменты, такие как:
- **NGINX** — веб-сервер и реверс-прокси с функциями балансировки.
- **HAProxy** — высокопроизводительный прокси для сложных сценариев.
- **Traefik** — интеграция с контейнерными оркестраторами.
## Балансировка нагрузки в базах данных
Для распределения нагрузки в базах данных применяют:
- **Репликация**:
- Мастер-слейв — чтение с реплик, запись через мастер.
- Мастер-мастер — запись и чтение на нескольких серверах.
- Инструменты: **ProxySQL** для динамического распределения запросов.
## Реверс-прокси
Реверс-прокси, например **NGINX**, принимает клиентские запросы и перенаправляет их на серверы. Это улучшает:
- Производительность.
- Безопасность.
- Скрытие внутренней архитектуры системы.