DAS_2023_1/savenkov_alexander_lab_8/README.md

26 lines
4.2 KiB
Markdown
Raw 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 - Как Вы поняли, что называется распределенной системой и как она устроена?
# Задание
Написать небольшое эссе (буквально несколько абзацев) своими словами (пожалуйста не пользуйтесь гуглом :) ) на тему "Устройство распределенных систем". А помогут Вам в этом вопросы из списка:
Зачем сложные системы (например, социальная сеть ВКонтакте) пишутся в "распределенном" стиле, где каждое отдельное приложение (или сервис) функционально выполняет только ограниченный спектр задач?
Для чего были созданы системы оркестрации приложений? Каким образом они упрощают / усложняют разработку и сопровождение распределенных систем?
Для чего нужны очереди обработки сообщений и что может подразумеваться под сообщениями?
Какие преимущества и недостатки распределенных приложений существуют на Ваш взгляд?
Целесообразно ли в сложную распределенную систему внедрять параллельные вычисления? Приведите примеры, когда это действительно нужно, а когда нет.
# Эссе:
Сложные системы, такие как социальные сети, используют распределенный стиль для эффективного распределения задач между отдельными приложениями или сервисами. Это позволяет каждому компоненту фокусироваться на конкретной функциональности, обеспечивая более гибкую и масштабируемую архитектуру.
Системы оркестрации приложений созданы для управления и координации деятельности распределенных компонентов. Они упрощают разработку, обеспечивая единый механизм управления, но могут усложнять сопровождение из-за дополнительной абстракции и возможных точек отказа.
Очереди обработки сообщений необходимы для асинхронного взаимодействия между компонентами. Сообщения могут включать запросы на выполнение задач, уведомления или данные. Это способствует отделению и управлению задачами в распределенных системах.
Преимущества распределенных приложений включают масштабируемость и отказоустойчивость. Недостатки включают сложность разработки и поддержки, а также возможные проблемы с согласованностью данных.
Внедрение параллельных вычислений в сложные распределенные системы целесообразно при необходимости обработки больших объемов данных или выполнения вычислительно интенсивных задач. Пример: анализ больших данных. Однако, в некоторых случаях, например, для небольших систем, это может быть излишним и усложнить архитектуру без выигрыша в производительности.