From 6e3d42e3a0b7c2e461d7b42274bf1b5e9b85b9a8 Mon Sep 17 00:00:00 2001 From: Yana <––ƒ––iputilin201@gmail.com> Date: Tue, 10 Dec 2024 21:15:34 +0400 Subject: [PATCH] nikolaeva_yana_lab_7 --- nikolaeva_yana_lab_7/README.md | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 nikolaeva_yana_lab_7/README.md diff --git a/nikolaeva_yana_lab_7/README.md b/nikolaeva_yana_lab_7/README.md new file mode 100644 index 0000000..01a6022 --- /dev/null +++ b/nikolaeva_yana_lab_7/README.md @@ -0,0 +1,34 @@ +## Эссе: Балансировка нагрузки в распределённых системах + +### Алгоритмы и методы для балансировки нагрузки +Балансировка нагрузки — это процесс распределения входящего трафика или задач между несколькими серверами +для оптимизации использования ресурсов, повышения производительности и обеспечения отказоустойчивости. + +Наиболее популярные алгоритмы включают: + +1. **Round Robin** (Циклический алгоритм): запросы распределяются равномерно по кругу между серверами. +2. **Least Connections** (Минимум подключений): запросы направляются на сервер с наименьшим числом активных соединений. +3. **Weighted Round Robin** (Взвешенный цикл): учитывает производительность серверов, направляя больше трафика на более мощные машины. +4. **Hash-Based Methods**: трафик распределяется на основе хэша данных, например, IP-адреса клиента. + +### Открытые технологии для балансировки нагрузки + +Среди открытых решений популярны: + +- **NGINX**: мощный реверс-прокси, поддерживающий балансировку на основе различных алгоритмов. +- **HAProxy**: высокопроизводительный прокси-сервер, предназначенный для распределения трафика и работы с высокими нагрузками. +- **Traefik**: современный инструмент для балансировки в микросервисах, интегрирующийся с оркестраторами, такими как Kubernetes. + +### Балансировка нагрузки на базах данных + +Для распределения нагрузки на базах данных часто применяются репликация и шардирование: + +- **Репликация**: данные копируются между несколькими серверами. Запросы на чтение направляются на реплики, а записи — на основной сервер. +- **Шардирование**: данные делятся на части (шарды), каждая из которых обрабатывается отдельным сервером, что снижает нагрузку на каждый из них. + +### Реверс-прокси как элемент балансировки нагрузки + +Реверс-прокси играет ключевую роль в балансировке нагрузки, так как он находится между клиентами и серверами. +Он не только распределяет запросы, но и может кэшировать ответы, сжимать данные и обеспечивать безопасность. +NGINX и HAProxy являются классическими примерами реверс-прокси. +