DAS_2024_1/mochalov_danila_lab_8/readme.md

3.6 KiB
Raw Blame History

Распределенные системы

  1. Распределенные системы строятся из множества взаимодействующих сервисов, каждый из которых выполняет ограниченный набор задач. Такой подход, в отличие от монолитной архитектуры, позволяет добиться большей гибкости, масштабируемости и отказоустойчивости. Разработка и обслуживание отдельных сервисов проще, чем работа с одним большим приложением. Распределенная архитектура позволяет использовать разные технологии для разных сервисов, выбирая наиболее подходящие инструменты для каждой задачи.

  2. Системы оркестрации, упрощают развертывание, управление и масштабирование распределенных систем. Они автоматизируют процессы запуска и мониторинга сервисов, а также предлагают удобный инструментарий для управления ресурсами. Однако внедрение систем оркестрации добавляет сложности на этапе разработки и требует специальных знаний и навыков. Небольшие проекты могут обойтись без систем оркестрации.

  3. Очереди сообщений играют важную роль в асинхронном взаимодействии между сервисами. "Сообщение" может представлять собой любую информацию: запрос на обработку данных, уведомление о событии, команда для выполнения действия. Очереди позволяют разделить сервисы-производители сообщений и сервисы-потребители, обеспечивая гарантированную доставку сообщений.

  4. Распределенные системы имеют свои преимущества и недостатки.

    • Преимущества: масштабируемость, отказоустойчивость, гибкость в выборе технологий.
    • Недостатки: сложность разработки и отладки.
  5. Параллельные вычисления можно применять в распределенных системах там, где задачи могут быть разбиты на отдельные независимые подзадачи. Пример: бработка большого файла может быть распараллелена по нескольким сервисам. Если задачи сильно связаны между собой, то параллельные вычисления могут привести к снижению производительности из-за накладных расходов на синхронизацию. Пример: обработка транзакции в банковской системе не должна распараллеливаться, так как это может нарушить целостность данных.