From cc6705ffd69a45f28f876261242d76cb947b0fe7 Mon Sep 17 00:00:00 2001 From: NAP Date: Tue, 12 Nov 2024 22:55:00 +0400 Subject: [PATCH] kadyrov_aydar_lab_7 --- kadyrov_aydar_lab_7/README.md | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 kadyrov_aydar_lab_7/README.md diff --git a/kadyrov_aydar_lab_7/README.md b/kadyrov_aydar_lab_7/README.md new file mode 100644 index 0000000..6b99874 --- /dev/null +++ b/kadyrov_aydar_lab_7/README.md @@ -0,0 +1,28 @@ +# Лабораторная работа 7. Балансировка нагрузки в распределённых системах при помощи открытых технологий на примерах + +### Задание +Написать небольшое эссе (буквально несколько абзацев) своими словами (пожалуйста не пользуйтесь гуглом :). + +  1. Какие алгоритмы и методы используются для балансировки нагрузки? + +  2. Какие открытые технологии существуют для балансировки нагрузки? + +  3. Как осуществляется балансировка нагрузки на базах данных? + +  4. Реверс-прокси как один из элементов балансировки нагрузки. +*** + +ЭССЕ +--- + +**Балансировка нагрузки в распределённых системах** + +Балансировка нагрузки — это процесс распределения запросов или задач между несколькими серверами или вычислительными ресурсами для оптимизации производительности и предотвращения перегрузок. Для реализации этой задачи применяются различные алгоритмы и методы, среди которых наиболее популярными являются: **круговой метод (round-robin)**, **наибольшая нагрузка** и **по наименьшей нагрузке**. Круговой метод равномерно распределяет запросы между серверами, в то время как методы по нагрузке основываются на вычислениях текущей загрузки серверов и направляют запросы на менее загруженные узлы. + +Существует множество открытых технологий для балансировки нагрузки. Одной из самых популярных является **Nginx**, который может выполнять роль реверс-прокси и балансировщика нагрузки, распределяя входящий трафик между несколькими серверами. Также существует **HAProxy**, специализированный инструмент для балансировки нагрузки с высокими возможностями настройки и поддержкой различных алгоритмов. **Keepalived** используется для обеспечения отказоустойчивости системы путём управления виртуальными IP-адресами, что помогает поддерживать доступность сервисов даже в случае сбоя одного из серверов. + +Балансировка нагрузки в базах данных отличается от обычной балансировки веб-запросов. Здесь она осуществляется на уровне запросов к базе данных, и чаще всего используется **репликация** и **шардинг**. Репликация позволяет создать несколько копий базы данных, и запросы могут направляться на менее загруженные реплики. Шардинг подразумевает разделение данных по нескольким серверам таким образом, что каждый сервер отвечает за часть данных, что позволяет распределить нагрузку и ускорить обработку запросов. + +**Реверс-прокси** является важным элементом в балансировке нагрузки. Он принимает запросы от клиентов и перенаправляет их к подходящим серверам. Такой подход позволяет скрыть реальную архитектуру системы, повышает безопасность и упрощает управление трафиком. Реверс-прокси может работать в связке с балансировщиком нагрузки, чтобы обеспечить эффективное распределение запросов и улучшить общую производительность системы. + +---