forked from Alexey/DAS_2024_1
tukaeva_alfiya_lab_8 is ready
This commit is contained in:
parent
545377f948
commit
f7d483196c
35
tukaeva_alfiya_lab_8/README.md
Normal file
35
tukaeva_alfiya_lab_8/README.md
Normal file
@ -0,0 +1,35 @@
|
||||
# Лабораторная работа №8 - Про устройство распределенных систем
|
||||
|
||||
## Задание
|
||||
|
||||
Написать небольшое эссе (буквально несколько абзацев) своими словами.
|
||||
|
||||
* Зачем сложные системы (например, социальная сеть ВКонтакте) пишутся в "распределенном" стиле, где каждое отдельное приложение (или сервис) функционально выполняет только ограниченный спектр задач?
|
||||
* Для чего были созданы системы оркестрации приложений? Каким образом они упрощают / усложняют разработку и сопровождение распределенных систем?
|
||||
* Для чего нужны очереди обработки сообщений и что может подразумеваться под сообщениями?
|
||||
* Какие преимущества и недостатки распределенных приложений существуют на Ваш взгляд?
|
||||
* Целесообразно ли в сложную распределенную систему внедрять параллельные вычисления? Приведите примеры, когда это действительно нужно, а когда нет.
|
||||
|
||||
|
||||
### Эссе:
|
||||
|
||||
Построение системы в виде набора микросервисов позволяет каждой отдельной службе выполнять строго определенный функционал, что значительно упрощает её поддержку и развитие. Распределенная система легче адаптируется к изменениям в бизнес-требованиях. Например, если в социальной сети появляется новая функция, связанная с обработкой изображений, её можно реализовать в виде отдельного сервиса, не затрагивая остальные компоненты системы.
|
||||
|
||||
Системы оркестрации появились для автоматизации развертывания, масштабирования и управления контейнерами в распределенной среде.
|
||||
Использование таких систем существенно упрощает разработку и сопровождение распределенных систем, предоставляя инструменты для автоматического масштабирования, восстановления после сбоев и управления сетевыми ресурсами.
|
||||
|
||||
Очереди обработки сообщений (message queues) служат для асинхронной передачи данных между различными компонентами системы. Очередь сообщений позволяет избежать блокировки процессов, ожидающих завершения других операций, и обеспечивает надежную передачу данных даже в случае временных сбоев. Примером использования очередей может служить обработка пользовательских действий в социальных сетях: сообщения о новых комментариях или лайках помещаются в очередь, откуда они постепенно извлекаются и обрабатываются соответствующими службами.
|
||||
|
||||
К преимуществам можно отнести:
|
||||
Масштабируемость. Возможность легко увеличивать мощность системы, добавляя новые ресурсы.
|
||||
Отказоустойчивость. Если один из компонентов выходит из строя, другие продолжают работать.
|
||||
Модульность. Упрощается разработка и поддержка, так как каждый модуль отвечает за свою функцию.
|
||||
К недостаткам можно отнести:
|
||||
Сложность архитектуры. Управление большим числом взаимодействующих сервисов требует значительных усилий.
|
||||
Задержки и сетевые проблемы. Передача данных между сервисами через сеть может приводить к задержкам и сбоям.
|
||||
|
||||
Параллельные вычисления могут быть полезны в тех случаях, когда требуется обработать большое количество данных или выполнить сложные вычисления. Например: социальная сеть типа «ВКонтакте» ежедневно обрабатывает огромные объёмы данных (посты, комментарии, фото, видео). Параллельная обработка этих данных позволяет быстрее реагировать на запросы пользователей и поддерживать высокий уровень производительности.
|
||||
Однако в некоторых ситуациях параллельные вычисления нецелесообразны. Например: небольшие аналитические отчеты, генерируемые раз в день, могут быть выполнены обычным однопоточным процессом без потери времени. Использование параллельных вычислений было бы избыточным.
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user