From aa571e03dc7954855c9c1043a05b336f67bb1281 Mon Sep 17 00:00:00 2001 From: the Date: Mon, 11 Nov 2024 13:41:38 +0400 Subject: [PATCH] Lab8 --- bogdanov_dmitry_lab_8/README.md | 65 +++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 bogdanov_dmitry_lab_8/README.md diff --git a/bogdanov_dmitry_lab_8/README.md b/bogdanov_dmitry_lab_8/README.md new file mode 100644 index 0000000..950aeec --- /dev/null +++ b/bogdanov_dmitry_lab_8/README.md @@ -0,0 +1,65 @@ +# Сложные системы и распределенная архитектура + +Сложные системы, такие как социальная сеть ВКонтакте, используют распределенную архитектуру для достижения нескольких целей: + +- Улучшения масштабируемости. Распределенные системы могут легко добавлять новые узлы для увеличения нагрузки и роста. + +- Повышения отказоустойчивости. Дублирование критических компонентов предотвращает сбои на одном месте, а при сбое отдельного компонента вся остальная система может продолжать функционировать. + +- Оптимизации использования ресурсов. Разделение работы между узлами позволяет эффективнее использовать разнообразные ресурсы. + +- Улучшения производительности. Параллельная обработка задач на разных узлах ускоряет выполнение. + +Распределенная архитектура позволяет создавать гибкие и масштабируемые системы, способные обрабатывать большие объемы данных и высокие нагрузки. + +## Системы оркестрации приложений + +Системы оркестрации приложений (например, Kubernetes) были созданы для управления распределенными приложениями. Они упрощают разработку и сопровождение за счет: + +- Автоматизации развертывания и масштабирования приложений. + +- Обеспечения высокой доступности через автоматическое восстановление после сбоев. + +- Управления ресурсами между контейнерами. + +Однако они также усложняют систему за счет необходимости настройки и управления оркестратором. + +## Очереди обработки сообщений + +Очереди обработки сообщений используются для асинхронной передачи данных между компонентами системы. Они позволяют: + +- Разделять ответственности между сервисами. + +- Обрабатывать задач в фоновом режиме без блокировки основного потока работы. + +- Повысить отказоустойчивост за счет декларативных очередей. + +Примеры сообщений могут включать пользовательские действия, уведомления или результаты вычислений. + +## Преимущества и недостатки распределенных приложений + +К преимуществам распределенных приложений можно отнести: + +- Масштабируемость и отказоустойчивость +- Эффективное использование ресурсов +- Гибкость и адаптивность +- Возможность географического распределения + +В то время как недостатками будут являться: + +- Увеличение сложности разработки и сопровождения +- Потенциальные проблемы с согласованностью данных +- Увеличение накладных расходов на коммуникацию между узлами +- Сложности с обеспечением безопасности + +## Параллельные вычисления в распределенных системах + +Внедрение параллельных вычислений в сложную распределенную систему звучит целесообразно, однако на практике далеко не всегда применимо. Например не стоит распараллеливать абсолютно каждое вычисление, ведь в большой части случаев будет проигрыш по времени за счёт надобности менеджмента потоков. Внедрять параллельные вычисления целесообразно следующих случаях: + +- При обработке больших объемов данных или вычислительных задач. + +- Для ускорения выполнения ресурсоемких операций. + +- В случае необходимости повышения производительности критических компонентов системы. + +Необходимо тщательно оценивать необходимость и эффективность использования параллелизма для каждого конкретного случая. \ No newline at end of file