From 69f42f260eda31f3e8a8b4db9da5a7db7f1a7746 Mon Sep 17 00:00:00 2001 From: Bazunov Andrew Igorevich <35404933+viltskaa@users.noreply.github.com> Date: Fri, 29 Nov 2024 00:23:15 +0400 Subject: [PATCH] ready --- bazunov_andrew_lab_7/README.md | 56 ++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 bazunov_andrew_lab_7/README.md diff --git a/bazunov_andrew_lab_7/README.md b/bazunov_andrew_lab_7/README.md new file mode 100644 index 0000000..d3bc403 --- /dev/null +++ b/bazunov_andrew_lab_7/README.md @@ -0,0 +1,56 @@ +## Эссе на тему "Балансировка нагрузки в распределённых системах при помощи открытых технологий на примерах" + +# Балансировка нагрузки: алгоритмы, методы и технологии + +Балансировка нагрузки — это процесс распределения входящего трафика или вычислительных задач между несколькими серверами, чтобы обеспечить равномерное использование ресурсов, минимизировать задержки и повысить отказоустойчивость системы. + +--- + +## Алгоритмы и методы +Для реализации балансировки нагрузки используются различные алгоритмы: + +- **Round Robin** — циклическое распределение запросов между серверами. +- **Least Connections** — запрос направляется на сервер с наименьшим количеством активных соединений. +- **Weighted Round Robin** — циклическое распределение с учётом веса серверов. +- **Dynamic Load Balancing** — алгоритмы, учитывающие текущую нагрузку и производительность серверов. + +--- + +## Открытые технологии +Существует множество технологий, поддерживающих балансировку нагрузки: + +- **Nginx** и **HAProxy** — мощные и популярные инструменты для HTTP и TCP трафика. +- **Kubernetes Ingress Controller** — автоматическая балансировка нагрузки в контейнерных средах. +- **AWS Elastic Load Balancer** и **Google Cloud Load Balancer** — решения для облачных инфраструктур. + +--- + +## Балансировка нагрузки на базах данных +Балансировка базы данных требует специальных подходов: + +- **Репликация**: создание копий базы данных для чтения, чтобы распределить запросы. +- **Шардинг**: разделение данных на сегменты, хранящиеся на разных серверах. +- Использование инструментов: + - **ProxySQL** для MySQL + - **pgpool-II** для PostgreSQL + +--- + +## Реверс-прокси как элемент балансировки +Реверс-прокси выполняет роль промежуточного сервера: + +- Принимает запросы от клиентов и перенаправляет их на бэкэнд-сервера. +- Обеспечивает: + - Распределение нагрузки + - Кеширование + - Шифрование (SSL/TLS) + - Мониторинг и анализ трафика + +Популярные решения: +- **Nginx** +- **Traefik** + +--- + +## Заключение +Балансировка нагрузки — это не только необходимая мера для обеспечения стабильности высоконагруженных систем, но и мощный инструмент для их масштабирования и оптимизации. Выбор алгоритмов и технологий зависит от особенностей проекта и его требований. \ No newline at end of file