Merge pull request '[Л/Р 8] Плаксина Александра' (#113) from Sanechka_Plaksina/distributed-computing:plaksina-av-lab-8 into main

Reviewed-on: http://student.git.athene.tech/v.moiseev/distributed-computing/pulls/113
This commit is contained in:
Vladislav Moiseev 2023-12-20 23:10:04 +04:00
commit f789f9a6d7

View File

@ -0,0 +1,27 @@
# Отчет по лабораторной работе №8
Выполнила студентка гр. ИСЭбд-41 Плаксина А.В.
# Эссе на тему уйстройства распределенных систем
Сложные системы, такие как социальная сеть ВКонтакете пишутся в распределенном стиле, так как такие сервисы обладают очень большим числом пользователей и соответствующей нагрузкой на сервисы, то логично было бы разбить такое приложение на несколько микросерсивов.
Во-первых, это повышает масштабируемость, что позволяет работать системе более эффективно, при этом не понижая ее производительность;
Во-вторых, это увеличение отказоустойчивости, так как если один элемент выходить из строя, то вся система будет продолжать работать.
Существуют такие системы как оркестры приложений, это такие технологии, которые поддерживают сложные распределенные системы с большим количеством компонентов. Они облегчают развертывание, масштабирование и самое управление такими приложениями, тем самым повышая производительность и отказоустойчивость.
Такие системы помогают управлять всеми докер контейнерами сразу, минимизирует работу при их разварачивании, тем самым давая возможность разработчикам концетрироваться на улучшениие функциональности, не отвлекаясь на саму инфаструктуру.
Существует такой механизм, как очереди обработки сообщений, который является интсрументом для управления асинхронными сообщениями в распределенных системах. Очереди помогают равномерно распределять нагрузку на систему и обеспечивать более стабильную работу, улучшая ее гибкость и отказоустойчивость. Сообщения в этом случае это просто данные или команды, которые передаются между компонентами системы для выполнения определенных действий.
На мой взгляд, у распределенных систем есть как и преимущества, так и недостатки.
Например, к плюсам можно отнести:
- способность обрабатывать большое количество запросов;
- при отказе работы одного из микросерверов, другие его распределят его работу между собой;
- высокая производительность;
К минусам относится:
- сложность разработки таких систем
- задержки передачи данных по сети
В распределенные системы можно внедрить параллельные вычисления.
Это целесобразно сделать тогда, когда нужно повысить производительность ситсемы и обрабатывается большой объем матрицы (такое мы могли наблюдать при перемножение матриц и вычислении детерминанта). Если задачи незавсимы друг от друга, то распараллеливание тоже может быть эффективно;
Если же объем данных небольшой и задачи зависимы друг от друга, должны выполняться последовательно (в таких случаях сложно выявить ошибку), то внедрять параллельные вычисления будет нецелесообразно.