31 lines
4.6 KiB
Markdown
31 lines
4.6 KiB
Markdown
## Лабораторная работа 8. Вариант 5.
|
||
### Задание
|
||
Написать небольшое эссе (буквально несколько абзацев) своими словами на тему "Устройство распределенных систем".
|
||
А помогут Вам в этом вопросы из списка:
|
||
|
||
Зачем сложные системы (например, социальная сеть ВКонтакте) пишутся в "распределенном" стиле, где каждое отдельное приложение (или сервис) функционально выполняет только ограниченный спектр задач?
|
||
Для чего были созданы системы оркестрации приложений? Каким образом они упрощают / усложняют разработку и сопровождение распределенных систем?
|
||
Для чего нужны очереди обработки сообщений и что может подразумеваться под сообщениями?
|
||
Какие преимущества и недостатки распределенных приложений существуют на Ваш взгляд?
|
||
Целесообразно ли в сложную распределенную систему внедрять параллельные вычисления? Приведите примеры, когда это действительно нужно, а когда нет.
|
||
|
||
### Реализация
|
||
Распределенные системы обеспечивают эффективное функционирование сложных приложений. Среди таких можно выделить социальные сети,
|
||
например, ВКонтакте. Возможность делегировать отдельным приложениям или сервисам ограниченный спектр задач в таких
|
||
системах имеет свою важную логику. Это повышает отказоустойчивость, улучшает масштабируемость и обеспечивает более
|
||
гибкую архитектуру, что особенно ценно в условиях растущего объема данных и пользовательского трафика.
|
||
|
||
Системы оркестрации приложений, такие как Kubernetes, были разработаны для упрощения управления и развертывания
|
||
распределенных систем. Они предоставляют инструменты для автоматизации процессов, что упрощает разработку и
|
||
сопровождение. В то же время, оркестрация добавляет свои сложности, требуя дополнительных знаний и навыков от
|
||
разработчиков.
|
||
|
||
Очереди обработки сообщений являются важным элементом распределенных систем. Они обеспечивают асинхронную коммуникацию
|
||
между компонентами, улучшая производительность и отзывчивость. Сообщения могут содержать запросы, уведомления или
|
||
события, что делает их универсальным механизмом взаимодействия.
|
||
|
||
Преимущества распределенных приложений включают повышенную отказоустойчивость и масштабируемость. Однако, с ростом
|
||
сложности возникают проблемы с согласованностью данных и сложностью отладки. Параллельные вычисления в распределенных
|
||
системах оправданы в случаях высоконагруженных приложений, требующих обработки большого объема данных. Напротив,
|
||
в некоторых случаях, например, в небольших системах, замедление из-за синхронизации может превысить выигрыш от
|
||
параллелизма. Это требует внимательного анализа и оптимизации с учетом конкретных требований системы. |