This commit is contained in:
Евгений Сергеев 2024-01-22 02:55:05 +04:00
parent 5b87190249
commit cfd210c6d3

View File

@ -0,0 +1,39 @@
# Лабораторная работа № 8. Как Вы поняли, что называется распределенной системой и как она устроена?
**Задание**
Написать небольшое эссе (буквально несколько абзацев) своими словами (пожалуйста не пользуйтесь гуглом :) ) на тему
"Устройство распределенных систем". А помогут Вам в этом вопросы из списка:
1. Зачем сложные системы (например, социальная сеть ВКонтакте) пишутся в "распределенном" стиле, где каждое отдельное
приложение (или сервис) функционально выполняет только ограниченный спектр задач?
2. Для чего были созданы системы оркестрации приложений? Каким образом они упрощают / усложняют разработку и
сопровождение распределенных систем?
3. Для чего нужны очереди обработки сообщений и что может подразумеваться под сообщениями?
4. Какие преимущества и недостатки распределенных приложений существуют на Ваш взгляд?
5. Целесообразно ли в сложную распределенную систему внедрять параллельные вычисления? Приведите примеры, когда
это действительно нужно, а когда нет.
**Эссе**
Распределенные системы, такие как социальные сети, применяются для обеспечения масштабируемости и улучшения
отказоустойчивости. В них каждое отдельное приложение или сервис выполняет ограниченный спектр задач, что упрощает
управление и обеспечивает лучшую гибкость. Это позволяет легко масштабировать отдельные компоненты и добавлять новые
функции, не нарушая работу всей системы.
Системы оркестрации приложений созданы для управления сложностью распределенных систем. Они автоматизируют
развертывание, масштабирование и управление приложениями, обеспечивая консистентность в среде с множеством компонентов.
Оркестраторы, такие как Kubernetes, упрощают разработку, но могут также вносить дополнительные сложности, требуя
понимания их концепций и настроек.
Очереди обработки сообщений играют ключевую роль в обмене данными между компонентами. Они обеспечивают асинхронное
взаимодействие, устраняя проблемы времени выполнения и обеспечивая более надежную и масштабируемую связь между сервисами.
Распределенные приложения обладают преимуществами в масштабируемости и отказоустойчивости, но сталкиваются с вызовами
в поддержке согласованности данных и сложностью отладки. Однако, при правильном проектировании, они способны
обеспечивать высокую производительность и доступность.
Внедрение параллельных вычислений в распределенные системы зависит от конкретных потребностей. Параллельные вычисления
целесообразны при обработке больших объемов данных или выполнении вычислений, которые можно эффективно разделить на
независимые задачи. Однако, это может стать излишним в более простых системах с небольшим объемом данных или линейной
структурой задач.