2016-03-31 2 views
2

У меня был дизайн архитектуры API с несколькими версиями, Пожалуйста, дайте мне отзывы и предложения о хороших и плохих, или есть лучший способ достичь этого.Multi version Api Architecture

enter image description here

  1. версия сервера (MVC4) для запроса маршрута исправить интерфейс API (WebAPI).
  2. версия отправит серверу по заголовку, по умолчанию будет 1.0, если не найден заголовок.

Впервые я проектирую для архитектуры API с несколькими версиями, и у google нет большой информации для этого.

Добро пожаловать любое предложение, критик, обратная связь и все остальное.

Приветствие,

ответ

1

Это зависит от того, сколько версии вы будете поддерживать и что NFR для более старых версий.

Ваша текущая настройка отлично подходит для лишь несколько версий про и против:
+ То же NFR для всех версий можно
+ Быстрый достичь на первых
- Изменения общих ресурсов (например, БД) имеют влияние на все поддерживаемые версии, поэтому их нужно переиздавать, тестировать, ... что может стать довольно дорогостоящим.

Другой вариант - построить цепочку адаптеров от версии 2.2 до 1.0 и от 3.7 до 2.2:
+ Легче поддерживать большой набор версий
+ chan о.э.р. требуется только один новый/обновленный адаптер в цепи
- сложнее настроить на первом
- производительность падает на один адаптер, который используется

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

Как обычно, все зависит от вашей ситуации.