main #3
44
tasks/kazakov-ev/lab_8/README.md
Normal file
44
tasks/kazakov-ev/lab_8/README.md
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
# Отчет по лабораторной работе №8
|
||||||
|
|
||||||
|
Выполнил студент гр. ИСЭбд-41 Миронов Е.О.
|
||||||
|
|
||||||
|
## Задачи
|
||||||
|
|
||||||
|
Написать небольшое эссе (буквально несколько абзацев) своими словами. А помогут Вам в этом вопросы из списка:
|
||||||
|
1. Зачем сложные системы (например, социальная сеть ВКонтакте) пишутся в "распределенном" стиле, где каждое отдельное приложение (или сервис) функционально выполняет только ограниченный спектр задач?
|
||||||
|
2. Для чего были созданы системы оркестрации приложений? Каким образом они упрощают / усложняют разработку и сопровождение распределенных систем?
|
||||||
|
3. Для чего нужны очереди обработки сообщений и что может подразумеваться под сообщениями?
|
||||||
|
4. Какие преимущества и недостатки распределенных приложений существуют на Ваш взгляд?
|
||||||
|
5. Целесообразно ли в сложную распределенную систему внедрять параллельные вычисления? Приведите примеры, когда это действительно нужно, а когда нет.
|
||||||
|
|
||||||
|
## Эссе
|
||||||
|
|
||||||
|
1. Зачем сложные системы (например, социальная сеть ВКонтакте) пишутся в "распределенном" стиле, где каждое отдельное приложение (или сервис) функционально выполняет только ограниченный спектр задач?
|
||||||
|
|
||||||
|
Во-первых, такие системы обрабатывают огромные объемы данных и высокие нагрузки, поэтому разделение функциональности между отдельными приложениями или сервисами позволяет более эффективно масштабировать и обрабатывать данные. Каждое приложение выполняет свою специфическую задачу, что позволяет легко масштабировать и модифицировать систему.
|
||||||
|
|
||||||
|
2. Для чего были созданы системы оркестрации приложений? Каким образом они упрощают / усложняют разработку и сопровождение распределенных систем?
|
||||||
|
|
||||||
|
Системы оркестрации приложений созданы для упрощения и управления разработкой и сопровождением распределенных систем. Они предоставляют средства для координации работы различных сервисов, обеспечивают управление состоянием, масштабирование и мониторинг системы. Это позволяет разработчикам концентрироваться на логике приложений, не беспокоясь о низкоуровневых деталях взаимодействия между сервисами. Однако, оркестрация приложений может усложнить разработку и требует дополнительных усилий по настройке и поддержке системы.
|
||||||
|
|
||||||
|
3. Для чего нужны очереди обработки сообщений и что может подразумеваться под сообщениями?
|
||||||
|
|
||||||
|
Очереди обработки сообщений играют важную роль в распределенных системах. Они служат для асинхронной коммуникации между компонентами системы и обеспечивают отказоустойчивость и гибкость в обработке данных. Сообщения могут представлять собой запросы на выполнение определенной задачи, информацию о событии или результаты выполнения действий. Очереди позволяют более гибко и эффективно управлять потоками данных и обеспечивать их последовательную обработку, даже при высоких нагрузках.
|
||||||
|
|
||||||
|
4. Какие преимущества и недостатки распределенных приложений существуют на Ваш взгляд?
|
||||||
|
|
||||||
|
Распределенные приложения имеют свои преимущества и недостатки. Они позволяют обрабатывать большие объемы данных, расширяться горизонтально и обеспечивать высокую отказоустойчивость. Однако, разработка и поддержка таких систем могут быть сложными и требовать специфических знаний. Также, распределенные системы могут страдать от проблем с консистентностью данных, синхронизацией и возникающими задержками в обработке.
|
||||||
|
|
||||||
|
5. Целесообразно ли в сложную распределенную систему внедрять параллельные вычисления? Приведите примеры, когда это действительно нужно, а когда нет.
|
||||||
|
|
||||||
|
Внедрение параллельных вычислений в сложную распределенную систему может быть целесообразным при определенных условиях. Рассмотрим несколько примеров, когда это может быть полезно и когда необходимость в этом отсутствует:
|
||||||
|
|
||||||
|
1. Обработка больших объемов данных: Если система работает с огромными объемами данных, параллельные вычисления могут значительно ускорить обработку. Например, в аналитической системе, которая агрегирует и анализирует большие объемы данных, параллельные вычисления помогут распределить нагрузку на несколько узлов и ускорить обработку данных.
|
||||||
|
|
||||||
|
2. Вычислительно интенсивные задачи: Если система выполняет вычислительно сложные операции или алгоритмы, параллельные вычисления могут значительно сократить время обработки. Например, в системе машинного обучения, где требуется обучение модели на большом объеме данных, параллельные вычисления позволят распределить вычислительную нагрузку между несколькими узлами и ускорить процесс обучения.
|
||||||
|
|
||||||
|
Однако, есть случаи, когда внедрение параллельных вычислений может быть излишним:
|
||||||
|
|
||||||
|
1. Простые операции: Если операции в системе относительно простые и не требуют значительных вычислительных ресурсов, то внедрение параллельных вычислений может быть излишним. Например, в системе управления пользователями, где требуется простая обработка запросов на создание, обновление или удаление пользователей, параллельные вычисления не приведут к значительному ускорению.
|
||||||
|
|
||||||
|
2. Необходимость в строгой последовательности: В некоторых случаях, система может требовать строгой последовательности выполнения операций. В таких случаях, параллельные вычисления могут нарушить эту последовательность и привести к нежелательным результатам. Например, в базе данных, где нужно манипулировать данными с использованием транзакций, параллельне вычисления могут нарушить целостность данных.
|
Loading…
Reference in New Issue
Block a user