forked from Alexey/DAS_2024_1
лаба 8
This commit is contained in:
parent
3b9698ac38
commit
f987854c2b
36
tsukanova_irina_lab_8/README.md
Normal file
36
tsukanova_irina_lab_8/README.md
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
# Цуканова Ирина ПИбд-42
|
||||||
|
# Лабораторная работа №8
|
||||||
|
|
||||||
|
|
||||||
|
## Задание:
|
||||||
|
1. Зачем сложные системы (например, социальная сеть ВКонтакте) пишутся в "распределенном" стиле, где каждое отдельное приложение (или сервис) функционально выполняет только ограниченный спектр задач?
|
||||||
|
2. Для чего были созданы системы оркестрации приложений? Каким образом они упрощают / усложняют разработку и сопровождение распределенных систем?
|
||||||
|
3. Для чего нужны очереди обработки сообщений и что может подразумеваться под сообщениями?
|
||||||
|
4. Какие преимущества и недостатки распределенных приложений существуют на Ваш взгляд?
|
||||||
|
5. Целесообразно ли в сложную распределенную систему внедрять параллельные вычисления? Приведите примеры, когда это действительно нужно, а когда нет.
|
||||||
|
|
||||||
|
## Эссе
|
||||||
|
Распределенная система – это совокупность независимых компонентов, расположенных на нескольких машинах, который также называют узлами или серверами.
|
||||||
|
Эти компоненты взаимодействуют для выполнения общей задачи.
|
||||||
|
Можно сказать, что в распределенных системах задачи разбиваются на части и обрабатываются параллельно.
|
||||||
|
|
||||||
|
В основном, сложные системы пишутся в распределенном стиле для отказоустойчивости, масштабируемости и упрощения поддержки.
|
||||||
|
Отказ одного сервиса не приводит к падению всей системы, каждый сервис может быть масштабирован независимо от других и обновляться независимо от других.
|
||||||
|
|
||||||
|
В сложных распределенных системах применяются оркестраторы. Они сильно помогают в управлении развертыванием и масштабированием.
|
||||||
|
Например, системы оркестрации могут автоматически создавать новые экземпляры сервисов при росте нагрузки и уменьшать их при снижении.
|
||||||
|
Также важно и то, что оркестраторы следят за состоянием контейнеров и могут перезапускать их в случае сбоев.
|
||||||
|
При этом оркестрация может усложнять архитектуру, так как ее тоже надо настраивать и поддерживать.
|
||||||
|
|
||||||
|
В распределенных системах применяются очереди обработки сообщений, например, RabbitMQ или Apache Kafka.
|
||||||
|
Они помогают организовать асинхронное взаимодействие между сервисами. Принцип работы несложный:
|
||||||
|
сервис отправляет сообщение в очереди, а другой сервис сможет его получить (или достать) и обработать.
|
||||||
|
Под сообщениями могут подразумеваться команды, данные или результаты обработки – всё, что необходимо передать от одного компонента к другому.
|
||||||
|
Очереди обработки сообщений позволяют увеличить устойчивость к сбоям и разделить зависимые операции.
|
||||||
|
|
||||||
|
Как уже было сказано ранее, к преимуществам распределенных приложений можно отнести отказоустойчивость, масштабируемость и упрощение поддержки.
|
||||||
|
Если рассматривать недостатки, то это сложность администрирования(особенно, при большом числе компонентов) и сложность обеспечения безопасности.
|
||||||
|
|
||||||
|
Параллельные вычисления целесообразны в распределенных системах, где задачи могут быть разделены на независимые части, обрабатываемые одновременно.
|
||||||
|
Например, при обработке больших данных или обработке мультимедиа.
|
||||||
|
Нецелесообразно внедрять, когда существует сильная зависимость задач друг от друга или когда задачи слишком малы.
|
Loading…
Reference in New Issue
Block a user