Merge pull request 'martysheva_tamara_lab_8 is ready' (#70) from martysheva_tamara_lab_8 into main
Reviewed-on: http://student.git.athene.tech/Alexey/DAS_2023_1/pulls/70
This commit is contained in:
commit
7c877e803d
26
martysheva_tamara_lab_8/README.md
Normal file
26
martysheva_tamara_lab_8/README.md
Normal file
@ -0,0 +1,26 @@
|
||||
# Лабораторная работа №8 - Устройство распределенных систем
|
||||
Эссе по вопросам:
|
||||
* Зачем сложные системы (например, социальная сеть ВКонтакте) пишутся в "распределенном" стиле, где каждое отдельное приложение (или сервис) функционально выполняет только ограниченный спектр задач?
|
||||
* Для чего были созданы системы оркестрации приложений? Каким образом они упрощают / усложняют разработку и сопровождение распределенных систем?
|
||||
* Для чего нужны очереди обработки сообщений и что может подразумеваться под сообщениями?
|
||||
* Какие преимущества и недостатки распределенных приложений существуют на Ваш взгляд?
|
||||
* Целесообразно ли в сложную распределенную систему внедрять параллельные вычисления? Приведите примеры, когда это действительно нужно, а когда нет.
|
||||
***
|
||||
## *Ход работы:*
|
||||
Сложные системы пишутся в "распределенном" стиле хотя бы потому, что они являются сложными: внедрение новых подсистем легче
|
||||
осуществить в микросервисной архитектуре, добавив сервис и даже необязательно на том же языке программирования. Можно сказать, что в такой системе
|
||||
легче поспевать за трендами - примером может служить популяризация вертикальных клипов и VK Клипы от ВКонтакте. Кроме того, работа с серверами - их замена и добавление - тоже очень целесообразна для сложных систем.
|
||||
|
||||
Распределенные системы являются множеством независимых компонентов, и есть необходимость в управлении этими компонентами. Как раз для
|
||||
этой цели и созданы системы оркестрации приложений. Такие системы упрощают процессы разворачивания, управления конфигурациями и в целом управления и мониторинга приложений.
|
||||
Сложность может возникать при работе с конфигурациями и с освоением принципов работы систем оркестрации.
|
||||
|
||||
Очереди обработки сообщений как раз необходимы для связи компонентов распределенной системы. Под сообщениями могут подразумеваться
|
||||
любые данные (текст, картинки, видео и т.д.). Очереди могут служить и неким буфером сообщений: компонент не обработает сообщение, пока не будет к этому готов. Кроме того,
|
||||
очереди могут обеспечивать ту же балансировку нагрузки.
|
||||
|
||||
К преимуществам распределенных приложений, конечно, можно отнести высокую производительность, отказоустойчивость и масштабируемость. Однако чтобы создать такую систему, потребуется немало
|
||||
ресурсов и затрат, а также создание будет сопряжено с трудностями обеспечения целостности и согласованности данных.
|
||||
|
||||
Мне кажется, что некоторые задачи, которые действительно требуют параллельного выполнения, целесообразно внедрять в сложную распределенную систему. Например, для потоковой передачи видео.
|
||||
А вот при банковских операциях, к примеру, внедрение параллельных вычислений может быть даже вредоносным.
|
Loading…
Reference in New Issue
Block a user