Merge pull request 'mochalov_danila_lab_8 is ready' (#191) from mochalov_danila_lab_8 into main

Reviewed-on: #191
This commit is contained in:
Alexey 2024-12-03 23:04:46 +04:00
commit 574e9bba1b

View File

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