DAS_2024_1/mochalov_danila_lab_8/readme.md

14 lines
3.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Распределенные системы
1. Распределенные системы строятся из множества взаимодействующих сервисов, каждый из которых выполняет ограниченный набор задач. Такой подход, в отличие от монолитной архитектуры, позволяет добиться большей гибкости, масштабируемости и отказоустойчивости. Разработка и обслуживание отдельных сервисов проще, чем работа с одним большим приложением. Распределенная архитектура позволяет использовать разные технологии для разных сервисов, выбирая наиболее подходящие инструменты для каждой задачи.
2. Системы оркестрации, упрощают развертывание, управление и масштабирование распределенных систем. Они автоматизируют процессы запуска и мониторинга сервисов, а также предлагают удобный инструментарий для управления ресурсами. Однако внедрение систем оркестрации добавляет сложности на этапе разработки и требует специальных знаний и навыков. Небольшие проекты могут обойтись без систем оркестрации.
3. Очереди сообщений играют важную роль в асинхронном взаимодействии между сервисами. "Сообщение" может представлять собой любую информацию: запрос на обработку данных, уведомление о событии, команда для выполнения действия. Очереди позволяют разделить сервисы-производители сообщений и сервисы-потребители, обеспечивая гарантированную доставку сообщений.
4. Распределенные системы имеют свои преимущества и недостатки.
- Преимущества: масштабируемость, отказоустойчивость, гибкость в выборе технологий.
- Недостатки: сложность разработки и отладки.
5. Параллельные вычисления можно применять в распределенных системах там, где задачи могут быть разбиты на отдельные независимые подзадачи. Пример: бработка большого файла может быть распараллелена по нескольким сервисам. Если задачи сильно связаны между собой, то параллельные вычисления могут привести к снижению производительности из-за накладных расходов на синхронизацию. Пример: обработка транзакции в банковской системе не должна распараллеливаться, так как это может нарушить целостность данных.