From aa571e03dc7954855c9c1043a05b336f67bb1281 Mon Sep 17 00:00:00 2001
From: the <jmobj@mail.ru>
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