arutunyan_dmitry_lab_7 is ready #138

Closed
Arutunyan-Dmitry wants to merge 1 commits from arutunyan_dmitry_lab_7 into main

View File

@ -0,0 +1,20 @@
## Лабораторная работа 7. Вариант 4.
### Задание
Написать небольшое эссе своими словами по вопросам из списка:
- Какие алгоритмы и методы используются для балансировки нагрузки?
- Какие открытые технологии существуют для балансировки нагрузки?
- Как осуществляется балансировка нагрузки на базах данных?
- Реверс-прокси как один из элементов балансировки нагрузки.
### Эссе
`Балансировка нагрузки в распределенных системах` это процесс распределения рабочей нагрузки между несколькими узлами или ресурсами, с целью равномерного распределения нагрузки и обеспечения эффективного использования ресурсов системы.
При реализации балансировки нагрузки в распределённых системах, используются такие алгоритмы, как: `наименьшая нагрузка` алгоритм, направляющий запросы на узел с наименьшим количеством активных соединений или наименьшей загрузкой, `наименьшее время отклика` алгоритм, выбирающий узел с наименьшим временем отклика на предыдущие запросы, `циклический алгоритм` алгоритм, циклично направляющий каждый новый запрос на следующий узел в очереди и `прогнозирующие алгоритмы` алгоритмы, использующие исторические данные и статистику для прогнозирования будущей нагрузки и распределения запросов.
Для балансировки нагрузки существует множество технологий. В рамках данного курса была затронута одна из них `Nginx`. `Nginx` предоставляет функциональность распределения запросов между несколькими серверами с использованием различных алгоритмов балансировки нагрузки, таких как циклический алгоритм и взвешенный циклический алгоритм. Помимо Nginx существуют такие открытые технологии балансировки нагрузки, как `Apache HTTP Server`, `Traefik` (один из новичков на “GoLang”) и др.
На базах данных балансировка нагрузки может быть осуществлена такими методами, как: `репликация данных` создание копий базы данных на нескольких серверах (запросы от приложения могут быть распределены между этими репликами, чтобы снизить нагрузку на отдельные серверы), `фрагментация данных` разделение данных на несколько фрагментов и их распределение по разным серверам (каждый сервер отвечает только за определенную часть данных, это позволяет распределить нагрузку на несколько серверов и обеспечить более равномерное распределение запросов), `балансировка данных на СУБД уровнях и уровнях приложений` и др.
`Реверс-прокси` это прокси-сервер, который принимает запросы от клиентов и перенаправляет их на один или несколько серверов внутри сети. Он также является одним из элементов балансировки нагрузки. Часто реверс-прокси используют в сочетании с другими методами балансировки нагрузки.