mashkova_margarita_lab_8 #104

Merged
Alexey merged 2 commits from mashkova_margarita_lab_8 into main 2024-01-10 11:17:11 +04:00
2 changed files with 45 additions and 37 deletions

View File

@ -1,37 +0,0 @@
# Лабораторная работа №7
## ПИбд-42 Машкова Маргарита
## Задание
Написать небольшое эссе (буквально несколько абзацев) своими словами. А помогут Вам в этом вопросы из списка:
1. Какие алгоритмы и методы используются для балансировки нагрузки?
2. Какие открытые технологии существуют для балансировки нагрузки?
3. Как осуществляется балансировка нагрузки на базах данных?
4. Реверс-прокси как один из элементов балансировки нагрузки.
## Эссе
### Балансировка нагрузки в распределённых системах при помощи открытых технологий на примерах
Балансировка нагрузки является важным аспектом в области информационных технологий.
Для достижения оптимального распределения нагрузки между ресурсами существуют различные алгоритмы и методы.
Один из таких методов - `Round Robin`, при котором запросы равномерно распределяются между серверами.
Другой популярный алгоритм - `весовая балансировка`, где каждому серверу присваивается определенный вес, отражающий его
производительность. Также существуют алгоритмы, основанные на отслеживании нагрузки серверов и их доступности, такие как
алгоритмы `Least Connection` и `IP Hashing`.
Открытые технологии для балансировки нагрузки включают в себя программное обеспечение, такое как `Nginx`,
`Apache HTTP Server` и `HAProxy`. Эти инструменты обладают гибкими настройками и могут быть использованы для распределения
нагрузки между серверами.
Балансировка нагрузки также играет важную роль при работе с базами данных. Она может быть реализована с помощью таких
методов, как `горизонтальное` и `вертикальное масштабирование`. `Горизонтальное масштабирование` предполагает распределение
данных между несколькими серверами, а `вертикальное масштабирование` - увеличение ресурсов одного сервера.
`Реверс-прокси` - это еще один элемент балансировки нагрузки, который используется для распределения запросов между
серверами. Он выступает в качестве посредника между клиентами и серверами, принимает запросы и направляет их на наиболее
подходящий сервер. Реверс-прокси также может выполнять функции кэширования и обеспечивать безопасность системы.
Балансировка нагрузки является важным инструментом для обеспечения стабильной и эффективной работы информационных
систем. Она позволяет распределить нагрузку между ресурсами и повысить производительность системы.

View File

@ -0,0 +1,45 @@
# Лабораторная работа №8
## ПИбд-42 Машкова Маргарита
## Задание
Написать небольшое эссе (буквально несколько абзацев) своими словами на тему "Устройство распределенных систем".
А помогут Вам в этом вопросы из списка:
1. Зачем сложные системы (например, социальная сеть ВКонтакте) пишутся в "распределенном" стиле, где каждое отдельное
приложение (или сервис) функционально выполняет только ограниченный спектр задач?
2. Для чего были созданы системы оркестрации приложений? Каким образом они упрощают / усложняют разработку и
сопровождение распределенных систем?
3. Для чего нужны очереди обработки сообщений и что может подразумеваться под сообщениями?
4. Какие преимущества и недостатки распределенных приложений существуют на Ваш взгляд?
5. Целесообразно ли в сложную распределенную систему внедрять параллельные вычисления? Приведите примеры, когда это
действительно нужно, а когда нет.
## Эссе
### Устройство распределенных систем
`Распределенные системы` являются важным компонентом современных информационных технологий. Они обеспечивают
масштабируемость, надежность и отказоустойчивость. Однако, их разработка и сопровождение требуют дополнительных усилий и экспертизы.
Основная причина использования распределенного подхода заключается в масштабируемости и надежности системы.
Распределение задач между отдельными компонентами позволяет более эффективно использовать ресурсы и обеспечивает
отказоустойчивость. Если одно из приложений перестает работать, остальные могут продолжать свою работу независимо.
Системы оркестрации приложений были созданы для управления и координации работы распределенных систем.
Они упрощают разработку и сопровождение, позволяя разработчикам сосредоточиться на написании кода, а не на сложностях
взаимодействия между компонентами. Однако, они также могут усложнить разработку, требуя дополнительных настроек и конфигураций.
Очереди обработки сообщений являются важной частью распределенных систем. Они используются для передачи и обработки
данных между различными компонентами системы. Сообщения могут быть любыми типами данных, от запросов от клиентов до
уведомлений и событий. Очереди позволяют асинхронно обрабатывать сообщения, улучшая производительность и отзывчивость системы.
Распределенные приложения имеют свои преимущества и недостатки. Одним из преимуществ является возможность
масштабирования системы для обработки большого количества запросов. Они также более отказоустойчивы, поскольку отказ
одного компонента не приведет к полной остановке системы. Однако, разработка и сопровождение распределенных систем может
быть более сложным и требует дополнительных знаний и усилий.
Внедрение параллельных вычислений в сложную распределенную систему может быть целесообразным в определенных случаях.
Например, при обработке большого объема данных или выполнении вычислительно интенсивных задач. Однако, в некоторых
случаях, например, при работе с небольшими объемами данных или не требующих параллельной обработки задач, внедрение
параллельных вычислений может быть излишним и добавить сложности в систему.