diff --git a/degtyarev_mikhail_lab_8/README.md b/degtyarev_mikhail_lab_8/README.md new file mode 100644 index 0000000..ab0015b --- /dev/null +++ b/degtyarev_mikhail_lab_8/README.md @@ -0,0 +1,29 @@ +# Лабораторная 8 + +## Задание + +Написать эссе по вопросам: + +- Зачем сложные системы пишутся в распределенном стиле, где каждое отдельное приложение функционально выполняет только ограниченный спектр задач? +- Для чего были созданы системы оркестрации приложений? Каким образом они упрощают/усложняют разработку и сопровождение распределенных систем? +- Для чего нужны очереди обработки сообщений и что может подразумеваться под сообщениями? +- Какие преимущества и недостатки распределенных приложений существуют на Ваш взгляд? +- Целесообразно ли в сложную распределенную систему внедрять параллельные вычисления? Приведите примеры, когда это нужно, а когда нет. + +## Ответ + +**Системы Оркестрации Приложений: Упрощение и Усложнение Разработки** + +Системы оркестрации, такие как Kubernetes или Docker Swarm, были созданы для управления и координации распределенными приложениями. Они упрощают развертывание, масштабирование и управление контейнеризированными приложениями. Однако, внедрение таких систем также вносит дополнительную сложность в разработку и сопровождение, требуя от инженеров глубокого понимания оркестрации и контейнеризации. + +**Очереди Обработки Сообщений: Согласованность и Устойчивость** + +Очереди обработки сообщений предоставляют механизм для асинхронного взаимодействия между компонентами распределенной системы. Это средство обеспечивает согласованность, устойчивость к отказам и возможность обработки сообщений в асинхронном режиме. Под сообщениями может подразумеваться разнообразная информация, включая запросы на выполнение задач, обновления статуса или уведомления о событиях. + +**Преимущества и Недостатки Распределенных Приложений: Баланс Возможностей** + +Распределенные приложения обеспечивают высокую производительность и отказоустойчивость, но при этом сопряжены с рядом вызовов. Преимущества включают горизонтальное масштабирование, более эффективное использование ресурсов и способность обрабатывать огромные объемы данных. Однако сложность разработки, тестирования и управления может стать недостатком, требуя от разработчиков глубоких знаний в области распределенных систем. + +**Параллельные Вычисления в Распределенных Системах: Когда и Почему** + +Внедрение параллельных вычислений в сложные распределенные системы целесообразно в случаях, когда требуется обработка больших объемов данных или выполнение вычислительно сложных задач. Например, анализ больших данных, машинное обучение или распределенные вычисления для научных исследований могут потребовать параллельного выполнения задач. Однако, введение параллелизма также увеличивает сложность системы и требует особого внимания к синхронизации и управлению ресурсами. Например, для вычисления диагонали матрицы - не всегда целесообразно внедрять параллельные вычисления.