.. | ||
README.md |
Лабораторная работа №8
Задание
Эссе по вопросам:
- Зачем сложные системы пишутся в распределенном стиле, где каждое отдельное приложение функционально выполняет только ограниченный спектр задач?
- Для чего были созданы системы оркестрации приложений? Каким образом они упрощают/усложняют разработку и сопровождение распределенных систем?
- Для чего нужны очереди обработки сообщений и что может подразумеваться под сообщениями?
- Какие преимущества и недостатки распределенных приложений существуют на Ваш взгляд?
- Целесообразно ли в сложную распределенную систему внедрять параллельные вычисления? Приведите примеры, когда это нужно, а когда нет.
Ответ
Сложные системы пишутся в распределенном стиле для того, чтобы обеспечить масштабируемость и отказоустойчивость, а также каждый отдельный сервис оптимизируется для конкретных задач. Это упрощает разработку системы и распределяет нагрузку между ее компонентами.
Системы оркестрации приложений были созданы для того, чтобы управлять распределенными системами (обсепечивать контроль и координацию между сервисами систем). Они упрощают разработку и сопровождение тем, что предоставляют дополнительные инструменты для работы с распределенными системами, но могут и усложнить разработку и сопровождение тем, что требуют дополнительного управления, персонала, и усложняют внедрение новых компонентов.
Очереди обработки сообщений нужны для обмена информацией и координации между компонентами системы. Под сообщениями могут подразумеваться инструкции, запросы или просто данные.
Одно из главных преимуществ распределенных систем - масштабируемость и распределение нагрузки на систему. Недостатки - сложность разработки, тестирования и синхронизации данных.
Внедрять в сложную распределенную систему параллельные вычисления нужно тогда, когда вычисления являются специализацией системы и являются большими по объему (например, при перемножении матриц 100х100 это было нецелесообразно, но в примере с матрицей 500х500 параллельное умножение сыграло большую роль в уменьшении времени выполнения данного действия). Следовательно, это нужно тогда, когда вычисления большие, и не нужно, если операции относительно простые.