distributed-computing/tasks/zinoveva-ad/lab_8/README.md
2023-12-18 22:11:32 +04:00

62 lines
7.7 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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