Spring Boot Microservices - Отчетность с помощью Jasper должна быть отдельной услугой? Или Jasper должен быть интегрирован во все сервисы? - PullRequest
1 голос
/ 17 февраля 2020

Проект разработан с использованием Spring Boot-MicroServices Redis Eureka Feign клиент

Проект имеет в общей сложности 10 различных сервисов, и каждый сервис большой проект. Все сервисы имеют свои отчеты. Мы планируем использовать Jasper в качестве инструмента отчетности. Вопрос в том, стоит ли нам создавать отдельный сервис для отчетов Jasper, который будет взаимодействовать со всеми сервисами через API. Пример: пользователь запросил отчет 1 (R1) из сервиса 3 (S3), а jasper - это отдельный сервис JR. Теперь я думаю о том, что API будет запрашивать отчет у JR. JR решит, какие данные требуются от S3, поэтому она вызовет S3 и получит необходимые данные для R1 через API, подготовит отчет и отправит его в ответ API.

При этом решении преимущество заключается в том, что в будущем, если я захочу заменить Jasper другим инструментом отчетности, мне нужно изменить только одну службу, и все остальные службы будут работать без каких-либо изменений из-за всех данных отчетов, запрошенных JR, и отчетов, подготовленных в службе JR. Проблема этого решения заключается в том, что загрузка данных замедляется из-за множества симулированных клиентов и вызовов API.

Второй подход заключается в создании библиотеки. Добавьте зависимость этой библиотеки во все 10 сервисов. Проблема с библиотекой заключается в том, что если мне нужно заменить инструмент отчетности или что-то изменить в нем, я должен учесть влияние во всех 10 модулях.

Мне нужно здоровое обсуждение этого подхода, как Должен ли я интегрировать отчетность в такой большой проект, основанный на весенних загрузочных микросервисах.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...