Микросервис: шаблон отдыха против клиентского Jar - PullRequest
0 голосов
/ 03 сентября 2018

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

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

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

Может кто-нибудь подсказать.

Ответы [ 3 ]

0 голосов
/ 03 сентября 2018

Это зависит.

Если вы используете Spring во всем своем проекте, тогда вам следует выбрать RestTemplate. Просто для вызова конечной точки не нужно тянуть еще одну банку. Часто высокопоставленные люди / архитекторы предлагают использовать уникальные библиотеки, чтобы поддерживать стандарт приложений и избегать целого ряда библиотек, предлагающих аналогичные функции.

Или, если ваше приложение разработано в другой среде или на другом языке, вы можете использовать любую библиотеку поддержки HttpRequest. Не имеет значения, какой код на стороне клиента вы используете для доступа к конечной точке Rest.

0 голосов
/ 03 сентября 2018

Всегда предпочтительно, чтобы службы вызывались через конечные точки отдыха в архитектурах, основанных на службах, таких как микросервисы. Но опять же большой вопрос в том, что вы должны использовать - JAR или WAR . Это сильно зависит от типа проектов и их архитектуры. В данном случае это MicroServices, прекрасно описывает здесь дядя Боб - http://blog.cleancoder.com/uncle-bob/2014/09/19/MicroServicesAndJars.html

0 голосов
/ 03 сентября 2018

Чтобы упростить использование клиентских вызовов для отдыха, особенно когда задействовано более одного проекта, рекомендуется разработать оболочку клиента, которая будет вызывать желаемую конечную точку как:

SystemApiClient client = new SystemApiClient();
List<Article> articles = client.getArticles("popular");

, создав такую ​​клиентскую оболочку, легко сделать из нее файл jar и поделиться им с вашими микроуслугами. для простоты обновления вы также можете загружать каждую новую версию на локальном нексусе и легко получать обновления для своего проекта, когда будет доступна новая

...