artamonova_tatyana_lab_8 is ready #207
37
artamonova_tatyana_lab_8/README.md
Normal file
37
artamonova_tatyana_lab_8/README.md
Normal file
@ -0,0 +1,37 @@
|
||||
## Лабораторная работа №8 ПИбд-42 Артамоновой Татьяны
|
||||
|
||||
### Эссе на тему "Устройство распределенных систем"
|
||||
|
||||
Сложные системы строятся по принципу распределенных приложений,
|
||||
где каждый сервис отвечает за свою узкую специализацию. Это повышает масштабируемость,
|
||||
надежность и удобство разработки. Разделение на отдельные сервисы позволяет независимо
|
||||
масштабировать отдельные компоненты системы. Это упростит их обновление, замену и
|
||||
повышает отказоустойчивость: выход из строя одного сервиса не обязательно
|
||||
парализует всю систему.
|
||||
|
||||
Системы оркестрации, такие, как Kubernetes, были созданы для упрощения управления и
|
||||
масштабирования распределенных систем. Они автоматизируют развертывание, масштабирование и
|
||||
мониторинг приложений, работающих в контейнерах. С одной стороны, оркестраторы значительно
|
||||
упрощают разработку, предоставляя готовые инструменты для управления инфраструктурой.
|
||||
С другой стороны, они добавляют сложность – требуется освоение новых инструментов и концепций,
|
||||
а сама система оркестрации может стать узким местом.
|
||||
|
||||
Очереди сообщений (RabbitMQ, Kafka) используются для асинхронной передачи данных
|
||||
между сервисами. Сообщения могут представлять собой любые данные: запросы на выполнение
|
||||
действия, уведомления о событиях, результаты обработки. Асинхронная обработка позволяет
|
||||
повысить производительность и отказоустойчивость, так как сервисы не зависят от мгновенного
|
||||
ответа друг друга. Если один сервис временно недоступен, сообщения накапливаются в очереди и
|
||||
обрабатываются позже.
|
||||
|
||||
Преимущества распределенных приложений очевидны: масштабируемость, отказоустойчивость,
|
||||
гибкость разработки. Но есть и недостатки. Распределенная система гораздо сложнее в разработке,
|
||||
тестировании и отладке, чем монолитная. Возникают проблемы с согласованностью данных,
|
||||
распределёнными транзакциями и мониторингом.
|
||||
|
||||
Внедрение параллельных вычислений в сложную распределенную систему имеет смысл,
|
||||
если есть задачи, которые можно разбить на независимые подзадачи, решаемые параллельно.
|
||||
Например, обработка больших объемов данных или выполнение ресурсоемких
|
||||
вычислений. Однако, если система ограничена I/O операциями,
|
||||
параллельные вычисления могут не дать значительного выигрыша
|
||||
в производительности из-за "узких мест" в других частях системы. В таких случаях,
|
||||
оптимизация I/O операций может быть эффективнее, чем добавление параллелизма.
|
Loading…
Reference in New Issue
Block a user