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