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