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