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