Compare commits
3 Commits
5e6687666b
...
4c6fd5082e
Author | SHA1 | Date | |
---|---|---|---|
4c6fd5082e | |||
60cc7dc5de | |||
ee67442f96 |
47
tasks/nikiforova-ts/Lab_8/Readme.md
Normal file
47
tasks/nikiforova-ts/Lab_8/Readme.md
Normal file
@ -0,0 +1,47 @@
|
||||
# Отчёт по лабораторной работе №8
|
||||
|
||||
Выполнила: студентка гр. ИСЭбд-41 Никифорова Татьяна Сергеевна.
|
||||
|
||||
## Зачем сложные системы (например, социальная сеть ВКонтакте) пишутся в "распределенном" стиле, где каждое отдельное приложение (или сервис) функционально выполняет только ограниченный спектр задач?
|
||||
|
||||
Сложные системы, такие как социальные сети, используют распределенный стиль архитектуры, где функциональность разделяется на отдельные приложения или сервисы по ряду причин:
|
||||
|
||||
Масштабируемость: Когда функциональность разбивается на отдельные сервисы, их можно масштабировать независимо друг от друга, что позволяет легче справляться с увеличением нагрузки.
|
||||
Гибкость и изменяемость: Разделение функциональности на сервисы облегчает внесение изменений в систему, так как изменения в одном сервисе не обязательно влияют на другие.
|
||||
Легкость в разработке и тестировании: Каждый сервис может разрабатываться и тестироваться независимо, что упрощает процессы разработки и обеспечивает более быстрое внедрение нового функционала.
|
||||
Управление рисками и изоляция ошибок: Распределенная архитектура позволяет изолировать ошибки и проблемы в одном сервисе, предотвращая их распространение на всю систему. Это повышает стабильность и надежность системы.
|
||||
|
||||
## Для чего были созданы системы оркестрации приложений? Каким образом они упрощают / усложняют разработку и сопровождение распределенных систем?
|
||||
|
||||
Системы оркестрации приложений были созданы для управления и автоматизации процессов развёртывания, масштабирования и управления распределенными приложениями и сервисами. Они предоставляют средства для оркестрации (координации и управления) различными компонентами системы, такими как контейнеры, микросервисы и виртуальные машины. Cистемы оркестрации значительно упрощают процессы разработки, развертывания и сопровождения распределенных систем, предоставляя средства автоматизации и координации в контейнерных и микросервисных средах
|
||||
|
||||
## Для чего нужны очереди обработки сообщений и что может подразумеваться под сообщениями?
|
||||
|
||||
Очереди обработки сообщений (Message Queues) являются мощным механизмом для асинхронной коммуникации между компонентами системы. Они используются в различных сценариях для обеспечения распределенной, отказоустойчивой, и масштабируемой обработки задач. Вот несколько основных целей и примеров того, что может подразумеваться под сообщениями в контексте очередей обработки сообщений:
|
||||
|
||||
1.Асинхронность.
|
||||
2.Отказоустойчивость.
|
||||
3.Масштабируемость.
|
||||
4.Интеграция разнородных систем.
|
||||
|
||||
Примеры сообщений в контексте очередей обработки сообщений: Задачи на обработку, события системы, события пользователя, сообщения об изменениях в данных.
|
||||
|
||||
## Какие преимущества и недостатки распределенных приложений существуют на Ваш взгляд?
|
||||
|
||||
Преимущества распределенных приложений:
|
||||
|
||||
Масштабируемость: Возможность легко масштабировать систему горизонтально, добавляя новые узлы или серверы. Отказоустойчивость: Возможность продолжения работы системы при сбоях отдельных компонентов. Эффективное использование ресурсов: Распределение нагрузки между узлами позволяет более эффективно использовать вычислительные ресурсы. Гибкость в выборе технологий: Возможность использования различных технологий для разных компонентов системы.
|
||||
|
||||
Недостатки распределенных приложений:
|
||||
|
||||
Сложность разработки: Разработка и поддержка распределенных систем требует дополнительных навыков и опыта. Сложность тестирования: Тестирование и отладка могут быть сложными из-за взаимодействия множества компонентов и асинхронности.
|
||||
|
||||
## Целесообразно ли в сложную распределенную систему внедрять параллельные вычисления? Приведите примеры, когда это действительно нужно, а когда нет.
|
||||
|
||||
Целесообразно внедрять параллельные вычисления в сложную распределенную систему:
|
||||
|
||||
Интенсивная вычислительная нагрузка: Если в системе присутствует интенсивная вычислительная задача, которую можно разделить на подзадачи, параллельные вычисления позволяют использовать множество узлов для ускоренного выполнения. Высоконагруженные системы: В системах с высокой нагрузкой, таких как веб-серверы или системы обработки транзакций, параллельные вычисления могут повысить пропускную способность и обработку запросов.
|
||||
|
||||
Нецелесообразно внедрять параллельные вычисления:
|
||||
|
||||
Наличие сетевых задержек: Если распределенная среда характеризуется высокими сетевыми задержками, параллельные вычисления могут не оправдывать себя из-за времени передачи данных.
|
Loading…
Reference in New Issue
Block a user