У меня есть приложение Android и серверная часть этого приложения, развернутая в Google AppEngine.
Я ищу что-то вроде шлюза API внутри облака Google, которое может перенаправить приложение на указанную c внутреннюю версию, в зависимости от версии клиента (например, передаваемой через заголовок?), Без указания целевого внутренняя версия явно в приложении (которая всегда требует выпуска приложения).
Например, реализовано в клиенте:
https://my-app.appspot.com (заголовок: X-MyApp-Appversion: 14)
Шлюз API:
для X -MyApp-AppVersion между 1 и 5 -> https://v1-dot-my-app.appspot.com
для X-MyApp-AppVersion между 6 и 11 -> https://v2-dot-my-app.appspot.com
для X-MyApp -AppVersion больше 11 -> https://v3-dot-my-app.appspot.com
Уже опробованные решения:
Ориентация на версию непосредственно в приложении потребует обновления приложения при каждом развертывании нового версия в бэкэнде.
Перезапись существующих бэкэнд-версий будет означать простои бэкэнда, я пробовал один раз и потерял> 100 запросов.
Используя dispatch.yaml, вы можете ориентироваться только на определенные c сервисы, а не на версии услуги.
Распределитель нагрузки и директор по трафику c кажутся более сложными и не совсем подходят для этой цели.