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