DAS_2023_1/gusev_vladislav_lab_8/README.md
2023-12-21 11:57:40 +04:00

29 lines
4.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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