Курс также называется “Разработка приложений в распределенной среде”, “Разработка распределенных приложений”. Суть курса - показать как преобразовывать программы, выполняющиеся в одном процессе, в программы, выполняющиеся в разных процессах и даже на разных узлах (серверах, рабочих станциях) в сети. В отличие от курса “Параллельное программирование” здесь предполагается, что
Процессы слабо связаны друг с другом, поэтому нет “упора” на производительность в обработке распределенных структур данных,
Структура (архитектура) распределенного программного комплекса больше соответствует предметной области, а не свойствам структур данных, хотя последнее, несомненно важно,
Использование стандартизованных протоколов и стандартов проектирования
API (Application Programming Interface - Интерфейс прикладного программирования), ориентированных на разработку вычислительных сред и комплексов
Использование методов разработки ПО, ориентированных на повторное использование и независимость от платформы разработки (структуры сети, характеристик модулей).
Использование контейнеров и кубренетс-а.
Цель лабораторной работы - разработать распределенное приложение. Оно может быть либо новое, либо созданное ранее. Сильно усложнять не надо. Пока два варианта реализации -
Использование REST[ful],
При помощи RabbitMQ.
Можно использовать аналогичные технологии - для первого варианта - SOAP, XML-RPC, JSON-RPC - для второго - NATS, ZeroMQ и т.п.
Продолжим оформление курса скоро