kochkareva_elizaveta_lab_8 is ready

This commit is contained in:
Kochkareva 2024-01-19 11:44:35 +04:00
parent 60ef5724cd
commit 4576924334

View File

@ -0,0 +1,26 @@
# Лабораторная работа 8.
### Задание
Написать небольшое эссе. А помогут Вам в этом вопросы из списка:
1. Зачем сложные системы (например, социальная сеть ВКонтакте) пишутся в "распределенном" стиле, где каждое отдельное приложение (или сервис) функционально выполняет только ограниченный спектр задач?
1. Для чего были созданы системы оркестрации приложений? Каким образом они упрощают / усложняют разработку и сопровождение распределенных систем?
1. Для чего нужны очереди обработки сообщений и что может подразумеваться под сообщениями?
1. Какие преимущества и недостатки распределенных приложений существуют на Ваш взгляд?
1. Целесообразно ли в сложную распределенную систему внедрять параллельные вычисления? Приведите примеры, когда это действительно нужно, а когда нет.
### Эссе
В современном мире распределенные системы являются очень полезными, т.к. обеспечиывают легкую масштабируемость и повышают отказоустойчивость больших систем. Так, например, если Вконтакте захотят внедрить в свою систему новый сервис "создание документов", то не нужно будет полностью изменять исходный код, достаточно будет лишь "присоединить" новый компонент. Также, если этот новый сервис получит какую-либо ошибку, которая приведет к его полному отказу, то основная часть социальной сети, которая является стабильной, продолжит свою работу, а компонент с ошибкой не окажет никакого значительного влияния на работоспособность всей системы.
Системы оркестрации приложений были созданы для упрощения и автоматизации управления распределенными системами. Они предоставляют средства для координирования и управления различными компонентами и сервисами, которые составляют распределенную систему. Однако, интеграция и настройка систем оркестрации может потребовать дополнительных усилий и ресурсов.
Очереди обработки сообщений используются для асинхронной коммуникации и координации между компонентами или сервисами в распределенных системах. Они позволяют отправлять и получать сообщения между различными частями системы, которые могут работать независимо друг от друга.
Под сообщениями может подразумеваться различный тип информации, которая передается между компонентами системы. Это может быть запрос на выполнение определенной задачи, уведомление о событии, данные для обработки и т.д.
На мой взгляд, распределенные приложения имеют очень важные преимущества, такие как масштабируемость и отказоустойчивость. Эти факторы являются очень важными в работе крупных систем, что упрощает жизнь пользователю (если у Вконтакте не работает сервис с музыкой, то все еще можно обмениваться сообщениями) и разработчикам (если не у Вконтакте не работает сервис с музыкой, то не нужно искать проблемы в сервисе оплаты (но не для Вконтакте); а также легко внедрять нововедения (но не для Вконтакте, для Телеграм например или для чего-то еще более стабильного)). Недостатком же является только сложность подобного проектирования, ну и возможно интеграция компонентов в крупных системах.
В сложную распределенную систему внедрять параллельные вычисления целесообразно только в том, случае, если происходит обработка большого количества данных. В прошлых лабораторных работах мы убедились, что параллельные вычисления теряют свою эффективность на малых наборах данных. А также необходимо проверять, что выбранные алгоритмы действительно эффективно работают.