laba done
This commit is contained in:
parent
a88869747e
commit
344ae488f6
62
tasks/zinoveva-ad/lab_8/README.md
Normal file
62
tasks/zinoveva-ad/lab_8/README.md
Normal file
@ -0,0 +1,62 @@
|
|||||||
|
# Отчет по лабораторной работе №8
|
||||||
|
|
||||||
|
Выполнила студентка гр. ИСЭбд-41 Зиновьева А. Д.
|
||||||
|
|
||||||
|
## Зачем сложные системы (например, социальная сеть ВКонтакте) пишутся в "распределенном" стиле, где каждое отдельное приложение (или сервис) функционально выполняет только ограниченный спектр задач?
|
||||||
|
|
||||||
|
Существует несколько причин, почему сложные системы, такие как социальные сети, пишутся в распределенном стиле с разделением функциональности:
|
||||||
|
|
||||||
|
1. Распределение нагрузки: Распределенный подход позволяет равномерно распределять нагрузку между разными серверами или сервисами. Это позволяет обеспечить масштабируемость системы и обрабатывать большое количество запросов от пользователей.
|
||||||
|
|
||||||
|
2. Изоляция сбоев: Когда функциональность разделена на отдельные сервисы, сбой в одном сервисе не влияет на работу других. Это повышает отказоустойчивость системы в случае возникновения проблем.
|
||||||
|
|
||||||
|
4. Гибкость и масштабируемость: Распределенный стиль позволяет добавлять или изменять сервисы независимо друг от друга. Это делает систему гибкой и позволяет ей масштабироваться в соответствии с развитием бизнеса и потребностями пользователей.
|
||||||
|
|
||||||
|
## Для чего были созданы системы оркестрации приложений? Каким образом они упрощают / усложняют разработку и сопровождение распределенных систем?
|
||||||
|
|
||||||
|
Системы оркестрации приложений - это инструменты, которые упрощают разработку, развертывание и управление распределенными приложениями и сервисами. Они помогают автоматизировать масштабирование, управление конфигурацией, мониторинг, масштабирование и отказоустойчивость системы. Однако, они также могут быть сложными и требовать дополнительных знаний и усилий для изучения и понимания их работы.
|
||||||
|
|
||||||
|
Сложности:
|
||||||
|
1. Понимание и использование систем оркестрации требует времени и усилий для изучения и освоения.
|
||||||
|
2. Системы оркестрации могут иметь свои ограничения и требования к структуре и формату приложений. Она требует совместимости и настройки между различными компонентами системы.
|
||||||
|
|
||||||
|
## Для чего нужны очереди обработки сообщений и что может подразумеваться под сообщениями?
|
||||||
|
|
||||||
|
Очереди обработки сообщений используются для организации и управления потоком информации между разными компонентами или сервисами в распределенной системе. Они позволяют организовать эффективную обработку сообщений, упорядочивая их и обеспечивая их последовательную обработку.
|
||||||
|
|
||||||
|
"Сообщение" может иметь различные значения.
|
||||||
|
|
||||||
|
Это могут быть:
|
||||||
|
1. Запросы на выполнение определенных операций;
|
||||||
|
2. Данные для обработки;
|
||||||
|
3. Уведомления о событиях.
|
||||||
|
|
||||||
|
Очереди обработки сообщений позволяют приложениям эффективно обрабатывать и передавать сообщения, гарантируя их сохранность, упорядоченность и последовательную обработку.
|
||||||
|
|
||||||
|
## Какие преимущества и недостатки распределенных приложений существуют на Ваш взгляд?
|
||||||
|
|
||||||
|
Преимущества:
|
||||||
|
1. Масштабируемость: Распределенные приложения могут легко масштабироваться горизонтально путем добавления новых узлов.
|
||||||
|
2. Отказоустойчивость: Если один узел выходит из строя, остальные узлы продолжают работать, что обеспечивает высокую доступность системы.
|
||||||
|
2. Надежность: Распределенные приложения могут быть устойчивыми к отказу одного или нескольких узлов.
|
||||||
|
4. Улучшенная производительность: Распределенные приложения могут распределять нагрузку между узлами системы, что позволяет эффективно использовать ресурсы и достигать более высокой производительности.
|
||||||
|
|
||||||
|
Недостатки:
|
||||||
|
1. Сложность разработки: из-за необходимости управления, синхронизации и т.д.
|
||||||
|
2. Задержки: могут быть адержки связи из-за необходимости передачи данных по сети.
|
||||||
|
|
||||||
|
## Целесообразно ли в сложную распределенную систему внедрять параллельные вычисления? Приведите примеры, когда это действительно нужно, а когда нет.
|
||||||
|
|
||||||
|
Внедрение параллельных вычислений в распределенную систему может быть целесообразно в определенных случаях.
|
||||||
|
|
||||||
|
Примеры, когда внедрение параллельных вычислений действительно нужно:
|
||||||
|
|
||||||
|
1. Когда нужна обработка больших объемов данных, сложные вычисления.
|
||||||
|
2. Когда требуется повысить производительность и отзывчивость.
|
||||||
|
3. Когда требуется обслуживать большое количество одновременных запросов пользователей
|
||||||
|
|
||||||
|
Примеры, когда внедрение параллельных вычислений не обязательно:
|
||||||
|
|
||||||
|
1. Когда не требуется вычислительная мощность;
|
||||||
|
2. Когда задачи сильно зависят друг от друга и не могут быть эффективно разделены на подзадачи;
|
||||||
|
3. Когда внедрение может добавить сложности в разработке.
|
Loading…
Reference in New Issue
Block a user