Проект микросервисной архитектуры (рисунок 1.1.) предполагает собой набор слабо зацепленных услуг. Сервисы в этой архитектуре имеют небольшую гранулировку (fine-grained), т.е. каждый сервис предназначен для того, чтобы выполнить какую-то конкретную узкую задачу, а протоколы коммуникации между сервисами легковесны, например HTTPS.
Впервые эту архитектуру упомянул Питер Роджерс в 2005 году на конференции «Edge Web Services». В это время стандарт был «SOAP SOA» для таких применений, однако Питер предлагал использовать сервисы REST, которых он назвал «микро-веб-ными сервисами». Вместо того, чтобы использовать достаточно сложный и тяжёлый «SOAP», он предлагал сервисам вызвать иные сервисы по протоколу «REST», т.е. отвлекать логику сервисов и скрывать ее под простыми интерфейсами «URI».[2].
Официальное название «микросервис» впервые звучало в рамках ежегодного семинара архитекторов программного обеспечения (ПО), который прошел в Венеции в 2011 году. Через некоторое время в 2012 г. в Кракове были опубликованы публикации о «гранулированном СОА», рассматривающих основы архитектуры микросервиса.
¬
Оглавление
Введение 4
Глава 1. Микросервисные архитекты 7
1. 1. Общий анализ архитектуры микросервиса 7
1.2 Характеристики микросервисов 9
1.3 Сильные и слабые стороны микросервисных и монолитных архитектур 10
1.4 Шаблоны дизайна приложений с архитектурой микросервиса 16
1. 5 Фреймворк gRPC 22
Глава 2. Визуализация приложений с использованием архитектуры микросервиса. 26
2.1 Проблемы и препятствия при переходе из монолитных архитектур в микросервисы 26
2. 2 Визуализация архитектуры микросервиса 39
2.3. Визуализация в зависимости от времени развертывания 41
2. 4. Автоматические декомпозиции монолитных архитектурных конструкций 45
3. Ограничения и требования 48
3. 1. Функциональное требование 48
3.2 Архитектура проекта 50
3.3 Особенности реализации. Поиск взаимодействий «HTTP/Websocket» 52
3.4 Поиск очереди сообщений 55
3.5 Тестирование и анализ результатов 58
Заключение 70
Литература 72