distributed-computing/tasks/nasybullov-ai/lab_8
2024-01-09 18:21:35 +03:00
..
README.md commit 2024-01-09 18:21:35 +03:00

Отчет по лабораторной работе №8

Выполнил студент гр. ИСЭбд-41 Насыбуллов А.И.

Задачи

Написать небольшое эссе (буквально несколько абзацев) своими словами. А помогут Вам в этом вопросы из списка:

  1. Зачем сложные системы (например, социальная сеть ВКонтакте) пишутся в "распределенном" стиле, где каждое отдельное приложение (или сервис) функционально выполняет только ограниченный спектр задач?
  2. Для чего были созданы системы оркестрации приложений? Каким образом они упрощают / усложняют разработку и сопровождение распределенных систем?
  3. Для чего нужны очереди обработки сообщений и что может подразумеваться под сообщениями?
  4. Какие преимущества и недостатки распределенных приложений существуют на Ваш взгляд?
  5. Целесообразно ли в сложную распределенную систему внедрять параллельные вычисления? Приведите примеры, когда это действительно нужно, а когда нет.

Эссе

Распределенный стиль разработки сложных систем позволяет обеспечить масштабируемость (добавление новых узлов), отказоустойчивость (продолжение работы, если некоторый узел вышел из строя), эффективное использование ресурсов (параллельное вычисление) и гибкость (параллельная разработка, тестирование), что делает его предпочтительным выбором для многих приложений.

Системы оркестрации приложений созданы для управления и координирования развертывания и выполнения распределенных приложений и сервисов. Упрощения: автоматизация (автоматическое управление, развертывание, мониторинг), масштабируемость приложения, безопасность (изоляция и защита от отказоустойчивости), мониторинг; Усложениня: необходимость обучить разработчиков работать с оркестрацией, сложность архитектуры, отладка (может быть сложной из-за взаимодействия нескольких компонентов).

Очереди обработки сообщений - это механизм, который позволяет эффективно управлять и обрабатывать сообщения, поступающие в систему. Сообщения могут представлять собой различные типы данных или события, которые передаются от одного компонента к другому для обработки. Это могут быть задачи, события, уведомления, запросы и ответы.

На мой взгляд, распределенные приложения имеют следующие преимущества и недостатки: Преимущества: масштабируемость, надежность (отказоустойчивость), эффективность использования ресурсов; Недостатки: сложность разработки и поддержки, проблемы с целостностью и согласованностью данных, зависимость от сети.

Внедрение параллельных вычислений в сложную распределенную систему может быть целесообразным при обработке больших объемов данных и необходимости распределения нагрузки. Примеры. Целесообразно: Система, которая обрабатывает и анализирует огромные объемы данных, параллельные вычисления могут разделить задачи на более мелкие части, что увеличит общую производительность системы. Нецелесообразно: Если система имеет низкую нагрузку, то параллельные вычисления могут не принести улучшения производительности, или даже наоборот ухудшить ее. Также нецелесообразно использовать паралелльные вычисления в системах, где каждая задача зависит от результатов предыдущей задачи.