From a4dbadbd2facdbc169aec31c114c157594ada7fe Mon Sep 17 00:00:00 2001
From: Tyurner <tyurner02@mail.ru>
Date: Sun, 10 Nov 2024 20:48:26 +0400
Subject: [PATCH] turner_ilya_lab_8 is ready

---
 turner_ilya_lab_8/README.md | 49 +++++++++++++++++++++++++++++++++++++
 1 file changed, 49 insertions(+)
 create mode 100644 turner_ilya_lab_8/README.md

diff --git a/turner_ilya_lab_8/README.md b/turner_ilya_lab_8/README.md
new file mode 100644
index 0000000..0770b2b
--- /dev/null
+++ b/turner_ilya_lab_8/README.md
@@ -0,0 +1,49 @@
+# Лабораторная работа №8 - Про устройство распределенных систем
+## ПИбд-42 || Тюрнер Илья
+
+### Задание:
+Написать небольшое эссе (буквально несколько абзацев) своими словами.
+
+1. Зачем сложные системы (например, социальная сеть ВКонтакте) пишутся в "распределенном" стиле, где каждое отдельное
+приложение (или сервис) функционально выполняет только ограниченный спектр задач?
+2. Для чего были созданы системы оркестрации приложений? Каким образом они упрощают / усложняют разработку и сопровождение
+распределенных систем?
+3. Для чего нужны очереди обработки сообщений и что может подразумеваться под сообщениями?
+4. Какие преимущества и недостатки распределенных приложений существуют на Ваш взгляд?
+5. Целесообразно ли в сложную распределенную систему внедрять параллельные вычисления? Приведите примеры, когда это
+действительно нужно, а когда нет.
+
+### Эссе на тему: "Про устройство распределенных систем"
+Сложные системы, например, социальная сеть ВКонтакте, пишутся в "распределенном" стиле, потому что в них критически важно
+эффективное управление запросами, отказоустойчивость и масштабируемость, что как раз и может предложить такой подход.
+Каждый сервис выполняет только узкоспециализированные задачи, например, сервис аутентификации или сервис рекомендаций.
+Пожалуй одним из самых значимых плюсов является тот факт, что, если "отвалится" один из сервисов, это не повлечет за собой
+сбой всей системы, она продолжит функционировать.
+
+Системы оркестрации приложений были созданы для управления разрозненными компонентами распределенной системы. Они упрощают
+разрабоку и поддержку распределенных систем, автоматизируя процессы управления, обновления и масштабирования. Однако, они
+вносят и сложность, ведь это требует от команды разработчиков дополнительных знаний и умений. Примеры: **Kubernetes** и
+**Docker Swarm**.
+
+Очереди обработки сообщений применяются для асинхронной передачи данных между сервисами, возможности их взаимодействия
+друг с другом. Сообщения здесь - это любые данные или запросы, которыми обениваются сервисы внутри системы. Очереди позволяют
+эффективно управлять потоком данных. Примеры: **RabbitMQ** и **Apache Kafka**.
+
+Преимущества распределенных систем:
+- Повышенная отказоустойчивость;
+- Лучшая масштабируемость;
+- Возможность балансировать нагрузку между серверами или вычислительными узлами.
+
+Недостатки распределенных систем:
+- Сложность разработки выше, чем у монолитных систем;
+- У монолитных систем, как правило, меньше временные затраты на взаимодействие компонентов из-за того, что все компоненты
+работают в рамках одного процесса;
+- Для разработки и поддержки распределенной системы требуются дополнительные организационные расходы.
+
+В распределенную систему можно внедрить параллельные вычисления. Иногда это помогает, а иногда наоборот вредит. Разберем
+конкретные примеры. Целесообразно при обработке независимых задач и высоких требованиях к производительности, например,
+глубокие математические рассчеты, работа с большими данными. Нецелесообразно при работе с мелкой задачей или в случаях,
+когда важна последовательность операций, например, рекурсивное вычисление факториала числа.
+
+Можно сделать вывод, что распределенные системы - это нужный и важный вид архитектуры, иногда он является единственно
+верным, а иногда от него стоит отказаться. Правильный выбор на этапе проектирования - это ключ к качественному продукту.
\ No newline at end of file