Проектирование микросервисов

Обсуждаем, как правильно строить приложения
Ответить
Vindective
Сообщения: 87
Зарегистрирован: 2014.04.18, 14:21

Проектирование микросервисов

Сообщение Vindective »

Подскажите при проектировании микросервиса как предоставлять контракт другому микросервису? К примеру откуда микросервис A знает от методе для получения пользователей от микросервиса B?
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: Проектирование микросервисов

Сообщение zelenin »

из документации. Микросервисы - сторонние сервисы, разрабатываемые другой командой (в смысле они не обязаны иметь одного архитектора).
Vindective
Сообщения: 87
Зарегистрирован: 2014.04.18, 14:21

Re: Проектирование микросервисов

Сообщение Vindective »

zelenin писал(а):из документации. Микросервисы - сторонние сервисы, разрабатываемые другой командой (в смысле они не обязаны иметь одного архитектора).
но всё же проблему решить как то можно?
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: Проектирование микросервисов

Сообщение zelenin »

Vindective писал(а):
zelenin писал(а):из документации. Микросервисы - сторонние сервисы, разрабатываемые другой командой (в смысле они не обязаны иметь одного архитектора).
но всё же проблему решить как то можно?
вы спросили - я ответил.
какую еще проблему вы видите?
Vindective
Сообщения: 87
Зарегистрирован: 2014.04.18, 14:21

Re: Проектирование микросервисов

Сообщение Vindective »

zelenin писал(а): вы спросили - я ответил.
какую еще проблему вы видите?
проблема получения контракта, список методов и параметров необходимо знать
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: Проектирование микросервисов

Сообщение zelenin »

Vindective писал(а):
zelenin писал(а): вы спросили - я ответил.
какую еще проблему вы видите?
проблема получения контракта, список методов и параметров необходимо знать
viewtopic.php?p=195062#p195006
если вы не поняли мой ответ, или не согласны, давайте пообщаемся. Не надо по кругу одно и то же спрашивать.
Vindective
Сообщения: 87
Зарегистрирован: 2014.04.18, 14:21

Re: Проектирование микросервисов

Сообщение Vindective »

zelenin писал(а):
Vindective писал(а):
zelenin писал(а): вы спросили - я ответил.
какую еще проблему вы видите?
проблема получения контракта, список методов и параметров необходимо знать
viewtopic.php?p=195062#p195006
если вы не поняли мой ответ, или не согласны, давайте пообщаемся. Не надо по кругу одно и то же спрашивать.
возможно вы не поняли вопрос? если мазолит слово "микросервис" давайте не будем его использовать.

Имеется 2 приложения, каким образом получить контракт от приложения А приложению В?
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: Проектирование микросервисов

Сообщение zelenin »

Vindective писал(а):возможно вы не поняли вопрос?
вполне понял: как объявить контракт между двумя микросервисами. Четкий ответ: микросервисы подразумевают под собой независимые приложения. Как и любое приложение-апи должно иметь документацию по методам.
Вы же говорите об автоматизированном получении контракта? А зачем? Апи одного сервиса не должно менять в рамках одной версии и соттветственно не требуется динамическое изменение запросов к нему второго (кажется вы усложняете).
Vindective писал(а):если мазолит слово "микросервис" давайте не будем его использовать.
почему мне должно мозолить глаза слово "микросервис"? Вы его ввели в дискуссию, как узкое описание стороннего сервиса, предоставляющего апи, что сути не меняет.
Vindective писал(а):Имеется 2 приложения, каким образом получить контракт от приложения А приложению В?
цель? контракт предоставляется в виде документации апи на версию этого апи и без изменения версии сигнатуры не меняются.

Опишите конкретнее, что хотите.
Vindective
Сообщения: 87
Зарегистрирован: 2014.04.18, 14:21

Re: Проектирование микросервисов

Сообщение Vindective »

посути нужен клиент который будет отправлять запросы, но впринципе нашел решение. Спасибо
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: Проектирование микросервисов

Сообщение zelenin »

Vindective писал(а):посути нужен клиент который будет отправлять запросы, но впринципе нашел решение. Спасибо
мде
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: Проектирование микросервисов

Сообщение samdark »

Ответ есть: WSDL и JSON-schema.
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: Проектирование микросервисов

Сообщение zelenin »

Sam Dark писал(а):Ответ есть: WSDL и JSON-schema.
это скорее для валидации подойдет, чем для реального использования в кач-ве контракта. Хотя может автору и нужна валидация - не представляю как можно на основе разного контракта динамически менять реквест, не смаппив поля А на поля Б.
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: Проектирование микросервисов

Сообщение samdark »

Не знаю как для JSON-Schema, но для WSDL есть инструменты, которые автоматом генерят набор классов, с которым уже и работает потребитель сервиса. То есть контракт прописан именно на техническом уровне, а не просто соглашением в документации.
Ответить