DAS_2024_1/vasina_ekaterina_lab_8
2024-12-13 18:41:44 +04:00
..
README.md vasina_ekaterina_lab_8 is ready 2024-12-13 18:41:44 +04:00

Лабораторная работа №8 - Как Вы поняли, что называется распределенной системой и как она устроена?

Задание

Написать небольшое эссе (буквально несколько абзацев) своими словами на тему "Устройство распределенных систем".

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

Эссе на тему: "Устройство распределенных систем"

Распределенные системы становятся неотъемлемой частью современного цифрового мира, позволяя обрабатывать огромные объемы данных и предоставлять пользователям мгновенный доступ к информации. Примером такой системы может быть социальная сеть ВКонтакте, где каждое приложение или сервис выполняет ограниченный спектр задач. Это разделение функций позволяет повышать масштабируемость и гибкость системы, так как каждый компонент отвечает за свою часть работы. При этом, если одна часть системы сталкивается с нагрузкой или требуется обновление, остальные продолжают функционировать без перебоев, что значительно увеличивает общую устойчивость всей системы.

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

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

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