Как веб-сервис должен информировать о поддерживаемых функциях - PullRequest
0 голосов
/ 29 октября 2018

Различные версии сервисов могут поддерживать разные функции. Например, версия 1 службы не поддерживает функцию x, но версия 2 поддерживает функцию x.

Существует ли какой-либо стандартный или практический способ сообщить, какие функции поддерживаются в текущей версии службы?

Я думаю, что каким-то образом эту информацию можно было бы получить из описаний коммитов. Есть ли какой-то стандарт для получения этой информации? Или каждая служба должна сообщить об этом по-своему.

1 Ответ

0 голосов
/ 29 октября 2018

Или каждая служба должна сообщить об этом по-своему.

Не делайте этого. Это соединит ваш сервис с другими. Другие не должны знать, как обращаться с вашей версией, но вы должны знать, как обращаться с разными версиями.

Если вы используете REST и синхронную связь между микросервисами, вам нужно посмотреть REST API Versioning или здесь . Этот тип управления версиями позволяет использовать несколько версий в одной инфраструктуре. Затем каждый микросервис должен знать, как вызвать конкретную версию микросервиса.

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

...