DAS_2023_1/belyaeva_ekaterina_lab_8/README.md
2024-01-11 20:29:50 +04:00

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