kurushina_ksenia_lab_8
This commit is contained in:
parent
a00d32694b
commit
f82867a84f
46
kurushina_ksenia_lab_8/README.md
Normal file
46
kurushina_ksenia_lab_8/README.md
Normal file
@ -0,0 +1,46 @@
|
||||
# Лабораторная работа №8: Устройство распределенных систем
|
||||
|
||||
Распределенные системы — это архитектура, где вычислительные задачи выполняются несколькими взаимодействующими
|
||||
между собой узлами (сервисами, приложениями). Каждый узел отвечает за свою область задач,
|
||||
что упрощает масштабирование, обеспечивает отказоустойчивость и улучшает производительность.
|
||||
|
||||
### Зачем использовать распределенный стиль разработки?
|
||||
|
||||
Сложные системы, такие как социальные сети, требуют обработки огромного объема данных и высокой доступности.
|
||||
Разделение функционала на узкие сервисы упрощает разработку, тестирование и сопровождение.
|
||||
Например, один сервис может обрабатывать загрузку изображений, а другой — публикацию постов.
|
||||
Это позволяет масштабировать каждый компонент независимо, снижая нагрузку на всю систему.
|
||||
|
||||
### Роль систем оркестрации
|
||||
|
||||
Системы оркестрации (например, Kubernetes) автоматизируют развертывание, управление и масштабирование приложений.
|
||||
Они упрощают сопровождение за счет централизованного управления, но добавляют сложность
|
||||
в настройке и требуют опыта для эффективного использования. Оркестрация помогает сохранять консистентность
|
||||
в сложной инфраструктуре и улучшает мониторинг.
|
||||
|
||||
### Очереди обработки сообщений
|
||||
|
||||
Очереди сообщений (например, RabbitMQ или Kafka) обеспечивают асинхронное взаимодействие между сервисами.
|
||||
Сообщения — это данные, такие как запросы, события или команды.
|
||||
Очереди упрощают обработку высоких нагрузок и
|
||||
позволяют сервисам работать независимо друг от друга.
|
||||
|
||||
### Преимущества и недостатки
|
||||
|
||||
Преимущества распределенных систем:
|
||||
|
||||
- Масштабируемость: легко увеличивать ресурсы для отдельных компонентов.
|
||||
- Отказоустойчивость: сбой одного узла не влияет на всю систему.
|
||||
- Производительность: задачи распределяются между сервисами.
|
||||
|
||||
Недостатки:
|
||||
- Сложность разработки и отладки.
|
||||
- Увеличение задержек из-за сетевого взаимодействия.
|
||||
- Требования к инструментам управления и мониторинга.
|
||||
|
||||
### Параллельные вычисления в распределенных системах
|
||||
|
||||
Параллельные вычисления целесообразны, если задачи можно разбить на независимые блоки.
|
||||
Например, обработка больших объемов данных в аналитике или видеокодировании.
|
||||
Однако их использование не нужно для последовательных задач,
|
||||
таких как запись транзакций в базу данных, где важна консистентность.
|
Loading…
Reference in New Issue
Block a user