basharin_sevastyan_lab_7 #57

Merged
Alexey merged 2 commits from basharin_sevastyan_lab_7 into main 2023-12-28 11:12:14 +04:00
Showing only changes of commit c83f26573c - Show all commits

View File

@ -0,0 +1,32 @@
## Лабораторная работа 6. Вариант 5.
### Задание
Написать небольшое эссе (буквально несколько абзацев) своими словами. А помогут Вам в этом вопросы из списка:
- Какие алгоритмы и методы используются для балансировки нагрузки?
- Какие открытые технологии существуют для балансировки нагрузки?
- Как осуществляется балансировка нагрузки на базах данных?
- Реверс-прокси как один из элементов балансировки нагрузки.
### Результат
Балансировка нагрузки в распределенных системах это метод равномерного распределения сетевого трафика по пулу
ресурсов, поддерживающих приложение. Для достижения этой цели применяются разнообразные алгоритмы и методы.
Один из наиболее простых алгоритмов "Round Robin" предполагает равномерное распределение запросов между серверами.
Это эффективное решение в случае, когда все серверы в сети имеют схожую производительность. В то время как алгоритм
"Least Connections" предоставляет балансировку с учетом активных соединений, предпочитая сервер с наименьшим количеством
активных запросов.
Открытые технологии, предназначенные для балансировки нагрузки, играют ключевую роль в обеспечении стабильности
распределенных систем. HAProxy, Nginx и Apache HTTP Server с модулем mod_proxy_balancer предоставляют гибкие средства
для распределения запросов. Эти инструменты способны учитывать различные параметры, такие как загрузка сервера и
доступность, обеспечивая тем самым эффективную работу системы.
В контексте баз данных вопрос балансировки нагрузки становится не менее важным. Горизонтальное масштабирование,
шардирование данных и репликация служат ключевыми методами. Технологии, такие как MySQL Cluster, MongoDB с шардингом и
PostgreSQL с потоковой репликацией, обеспечивают эффективное распределение нагрузки и обеспечивают отказоустойчивость
баз данных.
Реверс-прокси, например, в лице Nginx или Apache HTTP Server, выступает важным звеном в балансировке нагрузки. Эти
инструменты предоставляют единый точку входа для клиентов, обеспечивают SSL терминацию, кэширование и управление
сеансами, что делает их неотъемлемыми компонентами для обеспечения стабильной работы распределенных систем.