# Лабораторная работа № 8. Как Вы поняли, что называется распределенной системой и как она устроена? **Задание** Написать небольшое эссе (буквально несколько абзацев) своими словами (пожалуйста не пользуйтесь гуглом :) ) на тему "Устройство распределенных систем". А помогут Вам в этом вопросы из списка: 1. Зачем сложные системы (например, социальная сеть ВКонтакте) пишутся в "распределенном" стиле, где каждое отдельное приложение (или сервис) функционально выполняет только ограниченный спектр задач? 2. Для чего были созданы системы оркестрации приложений? Каким образом они упрощают / усложняют разработку и сопровождение распределенных систем? 3. Для чего нужны очереди обработки сообщений и что может подразумеваться под сообщениями? 4. Какие преимущества и недостатки распределенных приложений существуют на Ваш взгляд? 5. Целесообразно ли в сложную распределенную систему внедрять параллельные вычисления? Приведите примеры, когда это действительно нужно, а когда нет. ## 1. Зачем "распределенный" стиль? Распределенный стиль используется для: - Масштабируемости. - Отказоустойчивости. - Возможности обновлять/заменять отдельные компоненты без остановки всей системы. ## 2. Системы оркестрации (Kubernetes и др.) **Назначение:** - Автоматизация развертывания, масштабирования и управления контейнерами. **Преимущества:** - Упрощают DevOps-процессы. **Недостатки:** - Требуют времени на изучение и настройку. ## 3. Очереди обработки сообщений **Назначение:** - Координация взаимодействия между сервисами. - Обеспечение асинхронности и распределение нагрузки. **Пример сообщений:** Данные или задачи, передаваемые между компонентами системы. ## 4. Преимущества и недостатки распределенных приложений ### Преимущества: - Масштабируемость. - Отказоустойчивость. - Гибкость. ### Недостатки: - Сложность разработки. - Сложность сопровождения. - Сложность отладки. ## 5. Параллельные вычисления в распределенных системах **Когда нужны:** - Интенсивные вычисления (анализ данных, рендеринг, ML). **Когда не нужны:** - Операции с низкой нагрузкой. - Задачи, где асинхронность покрывает все потребности.