29 lines
4.8 KiB
Markdown
29 lines
4.8 KiB
Markdown
|
# Лабораторная работа 7. Балансировка нагрузки в распределённых системах при помощи открытых технологий на примерах
|
|||
|
|
|||
|
### Задание
|
|||
|
Написать небольшое эссе (буквально несколько абзацев) своими словами (пожалуйста не пользуйтесь гуглом :).
|
|||
|
|
|||
|
1. Какие алгоритмы и методы используются для балансировки нагрузки?
|
|||
|
|
|||
|
2. Какие открытые технологии существуют для балансировки нагрузки?
|
|||
|
|
|||
|
3. Как осуществляется балансировка нагрузки на базах данных?
|
|||
|
|
|||
|
4. Реверс-прокси как один из элементов балансировки нагрузки.
|
|||
|
***
|
|||
|
|
|||
|
ЭССЕ
|
|||
|
---
|
|||
|
|
|||
|
**Балансировка нагрузки в распределённых системах**
|
|||
|
|
|||
|
Балансировка нагрузки — это процесс распределения запросов или задач между несколькими серверами или вычислительными ресурсами для оптимизации производительности и предотвращения перегрузок. Для реализации этой задачи применяются различные алгоритмы и методы, среди которых наиболее популярными являются: **круговой метод (round-robin)**, **наибольшая нагрузка** и **по наименьшей нагрузке**. Круговой метод равномерно распределяет запросы между серверами, в то время как методы по нагрузке основываются на вычислениях текущей загрузки серверов и направляют запросы на менее загруженные узлы.
|
|||
|
|
|||
|
Существует множество открытых технологий для балансировки нагрузки. Одной из самых популярных является **Nginx**, который может выполнять роль реверс-прокси и балансировщика нагрузки, распределяя входящий трафик между несколькими серверами. Также существует **HAProxy**, специализированный инструмент для балансировки нагрузки с высокими возможностями настройки и поддержкой различных алгоритмов. **Keepalived** используется для обеспечения отказоустойчивости системы путём управления виртуальными IP-адресами, что помогает поддерживать доступность сервисов даже в случае сбоя одного из серверов.
|
|||
|
|
|||
|
Балансировка нагрузки в базах данных отличается от обычной балансировки веб-запросов. Здесь она осуществляется на уровне запросов к базе данных, и чаще всего используется **репликация** и **шардинг**. Репликация позволяет создать несколько копий базы данных, и запросы могут направляться на менее загруженные реплики. Шардинг подразумевает разделение данных по нескольким серверам таким образом, что каждый сервер отвечает за часть данных, что позволяет распределить нагрузку и ускорить обработку запросов.
|
|||
|
|
|||
|
**Реверс-прокси** является важным элементом в балансировке нагрузки. Он принимает запросы от клиентов и перенаправляет их к подходящим серверам. Такой подход позволяет скрыть реальную архитектуру системы, повышает безопасность и упрощает управление трафиком. Реверс-прокси может работать в связке с балансировщиком нагрузки, чтобы обеспечить эффективное распределение запросов и улучшить общую производительность системы.
|
|||
|
|
|||
|
---
|