DAS_2023_1/savenkov_alexander_lab_8/README.md

26 lines
4.2 KiB
Markdown
Raw Normal View History

2024-01-18 11:50:33 +04:00
# Лабораторная работа №8 - Как Вы поняли, что называется распределенной системой и как она устроена?
# Задание
Написать небольшое эссе (буквально несколько абзацев) своими словами (пожалуйста не пользуйтесь гуглом :) ) на тему "Устройство распределенных систем". А помогут Вам в этом вопросы из списка:
Зачем сложные системы (например, социальная сеть ВКонтакте) пишутся в "распределенном" стиле, где каждое отдельное приложение (или сервис) функционально выполняет только ограниченный спектр задач?
Для чего были созданы системы оркестрации приложений? Каким образом они упрощают / усложняют разработку и сопровождение распределенных систем?
Для чего нужны очереди обработки сообщений и что может подразумеваться под сообщениями?
Какие преимущества и недостатки распределенных приложений существуют на Ваш взгляд?
Целесообразно ли в сложную распределенную систему внедрять параллельные вычисления? Приведите примеры, когда это действительно нужно, а когда нет.
# Эссе:
Сложные системы, такие как социальные сети, используют распределенный стиль для эффективного распределения задач между отдельными приложениями или сервисами. Это позволяет каждому компоненту фокусироваться на конкретной функциональности, обеспечивая более гибкую и масштабируемую архитектуру.
Системы оркестрации приложений созданы для управления и координации деятельности распределенных компонентов. Они упрощают разработку, обеспечивая единый механизм управления, но могут усложнять сопровождение из-за дополнительной абстракции и возможных точек отказа.
Очереди обработки сообщений необходимы для асинхронного взаимодействия между компонентами. Сообщения могут включать запросы на выполнение задач, уведомления или данные. Это способствует отделению и управлению задачами в распределенных системах.
Преимущества распределенных приложений включают масштабируемость и отказоустойчивость. Недостатки включают сложность разработки и поддержки, а также возможные проблемы с согласованностью данных.
Внедрение параллельных вычислений в сложные распределенные системы целесообразно при необходимости обработки больших объемов данных или выполнения вычислительно интенсивных задач. Пример: анализ больших данных. Однако, в некоторых случаях, например, для небольших систем, это может быть излишним и усложнить архитектуру без выигрыша в производительности.