Мы хотим создать общедоступные веб-сервисы, и мы создаем настраиваемые API. Но как изолировать, изменить и связать эти конечные точки как гиперскалированную систему?ASP.NET WebAPI URL Versioning
Мы хотим иметь:
https://api.domain.tld/v1/..
https://api.domain.tld/v2/..
https://api.domain.tld/latest/..
https://api.domain.tld/bosch/v1/..
или
https://domain.tld/api/v1/..
https://domain.tld/api/v2/..
Все конечные точки должны быть изолированы. За конечной точкой, например https://domain.tld/api/v2/..
, существует не менее 3 экземпляров ASPAP WebAPI. Мы не хотим отделять управление версиями пространствами имен внутри проекта WebAPI и использовать внутренние конфигурации маршрутов для решения этой проблемы.
Мы хотим, чтобы это поведение было на высоте, а также на Azure. Есть ли какие-либо рекомендации или примеры лучшей практики и конфигурации?
Я мог найти только одну тему здесь (How to version and configure WebApi with multiple aliases), которая очень старая и ответа нет.
Спасибо за ваш ответ. Но вопрос о том, как сопоставить вложенные папки для отдельных экземпляров, остается открытым. Например, 'https: // api.domain.tld/service1/v1' является экземпляром3 на сервере1 и' https: // api.domain.tld/service1/v2' должен быть экземпляром9 на сервере17. Ответственность за это несет балансировщик нагрузки? – PeterLiguda
И логическое разделение для настраиваемых API-интерфейсов будет «https: // api.domain.tld/bosch/userservice/v1'' https: // api.domain.tld/bosch/orderservice/v3', но это оставляет меня здесь с та же проблема: как сопоставить вспомогательные каталоги для служб. – PeterLiguda
Зачем вам нужен баланс нагрузки? Это просто веб-api-отображения, о которых мы говорим. – Marco