# Лабораторная работа 8. Устройство распределенных систем
### Задание на лабораторную работу
Написать небольшое эссе (буквально несколько абзацев) своими словами на тему "Устройство распределенных систем".

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

Сложные системы, такие как социальные сети, принимают решение использовать распределенный стиль разработки по нескольким 
причинам. Во-первых, это позволяет повысить масштабируемость системы, разделяя ее на отдельные компоненты, которые могут 
работать параллельно. Во-вторых, распределенные системы обеспечивают повышенную отказоустойчивость, так как сбои в одном 
из компонентов системы не приводят к полной недоступности всей системы.

Системы оркестрации приложений были созданы для управления приложениями в распределенных средах. Они упрощают разработку 
и сопровождение распределенных систем, предоставляя средства для автоматизации процессов развертывания, управления 
ресурсами и обеспечения отказоустойчивости. Использование систем оркестрации также может усложнить разработку, 
требуя дополнительного времени для изучения их функциональности и интеграции в систему.

Очереди обработки сообщений используются для асинхронной коммуникации и обмена данными между компонентами системы. 
Под сообщениями может подразумеваться различная информация, которая передается между компонентами системы. Они могут 
представлять собой запросы на выполнение определенной операции, уведомления о событиях,данные для обработки или 
информацию об изменениях в системе. 

На мой взгляд, к преимуществам распределенных систем можно отнести их масштабируемость и отказоустойчивость. 
К недостаткам же относятся сложность разработки, управление и координация. Устройство распределенных систем также может 
быть сложным и требовать дополнительных усилий для обеспечения синхронизации работы узлов.

Внедрение параллельных вычислений в сложную распределенную систему может быть целесообразным в определенных случаях. 
Параллельные вычисления могут быть полезными для обработки больших объемов данных или выполнения вычисления, требующих 
большого количества ресурсов, но могут быть необязательными в случае простых вычислений или ограниченных ресурсов.