Недавно я начал проект, который включает в себя разработку архитектуры микросервисов с помощью Spring Cloud и Netflix OSS. Микросервисы поддерживают RESTful и генерируют ответы JSON.
Цель состоит в том, чтобы скомпоновать результаты JSON каждого микросервиса (они могут быть зависимостями между ними, например, Service_B нужны выходные данные Service_A для завершения своих вычислений) и представить их конечному пользователю с помощью пользовательского интерфейса (т. е. Angular.js single страница).
В качестве справки я следовал руководству callista enterprise, в котором состав трех типовых микросервисов (продукт, рекомендация, обзор) выполняется другим микросервисом под названием "product-composite", который в основном выполняет последовательность HTTP-вызовов. к другим микросервисам.
На данный момент я немного запутался в этом подходе к композиции/оркестровке, поскольку он не масштабируется и требует существенных изменений каждый раз, когда в архитектуру добавляется новый микросервис.
Возникает вопрос: каков наилучший/подходящий подход к созданию/аранжировке микросервисов в структурированном потоке?
Я искал компоновку каждой службы на одной странице Angular.js, но меня беспокоит раскрытие каждой микрослужбы снаружи, поскольку желательно вызвать одну конечную точку API (скажем, /report) и получить все необходимые вычисления.
Другой вариант кажется Spring Integration, но я не могу найти документацию, в которой разъясняется, как сопоставить эту архитектуру с этой технологией.
Любые советы, руководства, ссылки и предложения будут действительно оценены. Спасибо за вашу поддержку.
Лука