3.6 KiB
Лабораторная работа №8
Как Вы поняли, что называется распределенной системой и как она устроена?
Распределенная система (РС) - система, где взаимодействие программных компонентов, выполняемых на независимых сетевых компьютерах, осуществляется посредством передачи сообщений.
Сложные системы пишутся в "распределенном стиле" по нескольким причинам. Первое - это масштабируемость. Каждое приложение или сервис может масштабироваться отдельно. Второе - устойчивость. Если один сервис выйдет из строя - не выйдет из строя вся система. Это очень большой плюс для сложных и больших систем. Также можно отметить, что такие в такие системы легче вносить изменения. Разрабатывая или изменяя один сервис нет необходимости трогать другие.
Оркестрация - это автоматическое размещение, координация и управление сложными системами и службами. Пример системы оркестрации: Kubernetes. Оркестраторы позволяют разработчикам проще управлять ресурсами, сокращая время на развертывание и обновления приложений. Но с другой стороны - эти системы добавляют сложности в архитектуру.
Очереди обработки сообщений (Kafka, RabbitMQ) используются для асинхронной коммуникации между сервисами. Под словом "сообщение" могут скрываться - данные, уведомления о событиях, задачи на фоновые обработки и т.д.
В изучении курса "Распределенные вычисления и приложения" для себя я выделила такие преимущества РС:
- Надежность системы (система не выйдет из строя, если выйдут из строя только некоторые компоненты)
- Масштабируемость (легче добавлять новые функции)
Основным недостатком обозначу сложность проектирования.
Внедрение параллельных вычислений в РС - возможно. Но походит не для всех ситуаций. Например, если необходима обработка больших данных или есть высоконагруженные операции, которые могут быть распределены между узлами. Параллельные вычисления не нужны, если задачи простые, данных не много. Иначе, если применять параллельные вычисления в такой РС, то это только усложнит саму архитектуру и может привести к уменьшению производительности.