distributed-computing/tasks/dunaev-oi/README.md

23 lines
5.1 KiB
Markdown
Raw Normal View History

2023-12-18 18:34:33 +04:00
# Отчет по лабораторной работе №7
Выполнил студент гр. ИСЭбд-41 Дунаев О.И.
## Задачи
Написать небольшое эссе (буквально несколько абзацев) своими словами. А помогут Вам в этом вопросы из списка:
1. Какие алгоритмы и методы используются для балансировки нагрузки?
2. Какие открытые технологии существуют для балансировки нагрузки?
3. Как осуществляется балансировка нагрузки на базах данных?
4. Реверс-прокси как один из элементов балансировки нагрузки.
## Эссе
Балансировка нагрузки это важный процесс в сфере информационных технологий, который позволяет равномерно распределять нагрузку между компьютерами, серверами или другими ресурсами для обеспечения оптимальной производительности системы. В данном эссе я рассмотрю несколько вопросов, связанных с алгоритмами и методами балансировки нагрузки, открытыми технологиями, а также балансировкой нагрузки на базах данных и использованием реверс-прокси.
Первый вопрос касается алгоритмов и методов, используемых для балансировки нагрузки. Существует несколько подходов, таких как раунд-робин, весовая нагрузка, наименьшее количество соединений и IP хэширование. Раунд-робин распределяет запросы по всем доступным серверам одинаковым образом. Весовая нагрузка позволяет приоритезировать определенные серверы и передавать им больше запросов. Наименьшее количество соединений выбирает сервер с наименьшим количеством активных соединений. IP хэширование использует IP-адрес клиента для определения сервера, который будет обрабатывать его запросы.
Второй вопрос касается открытых технологий для балансировки нагрузки. Среди них можно выделить HAProxy, NGINX, Apache HTTP Server и AWS Elastic Load Balancer. HAProxy является высокопроизводительным реверс-прокси, который поддерживает различные алгоритмы балансировки нагрузки. NGINX также является реверс-прокси и обладает возможностями балансировки нагрузки. Apache HTTP Server предоставляет модуль mod_proxy_balancer для балансировки нагрузки. AWS Elastic Load Balancer предоставляет гибкую и масштабируемую балансировку нагрузки в облачной среде.
Третий вопрос касается балансировки нагрузки на базах данных. Для балансировки нагрузки на базах данных используются различные методы, такие как горизонтальное шардирование, репликация и кэширование. Горизонтальное шардирование разделяет данные на несколько фрагментов и распределяет их по разным серверам. Репликация создает копии базы данных на разных серверах для обработки запросов. Кэширование позволяет хранить результаты часто используемых запросов для улучшения производительности.
Реверс-прокси является важным элементом балансировки нагрузки. Он работает на стороне сервера и перенаправляет запросы с клиента на разные серверы в зависимости от текущей нагрузки. Реверс-прокси предоставляет централизованную точку контроля над серверами, обеспечивает отказоустойчивость и улучшает производительность системы.