Большая часть того, что вам нужно для независимого развертывания App 1
, у вас уже есть с вашим текущим механизмом для запуска версии, соответствующей локальной серверной части. Это просто нуждается в некоторой настройке.
Для начала дайте интерфейсу (API) между бизнес-уровнем и App 1
собственный номер версии, который обновляется независимо от бизнес-уровня и версий приложения. Версию API следует обновлять только тогда, когда что-то изменилось в общении между App 1
и бизнес-уровнем. Для обратной совместимости запустите эту версию API в текущей версии бизнес-уровня (поэтому, если у вас теперь есть версия 3 бизнес-уровня, API также должен начинаться с версии 3).
Затем заставьте App 1
объявить, какие версии API он поддерживает, чтобы эта информация могла использоваться логикой запуска. Если возможно, сделайте это обновление также для более старых версий App 1
, которые все еще используются для взаимодействия со старыми бизнес-уровнями.
Наконец, обновите логику запуска, чтобы сначала попытаться получить версию API и, если это не сработает, версию бизнес-логики. Затем запустите/перенаправьте на новейшую версию App 1
, которая заявила, что может обрабатывать версию бизнес-логики API.
Это предполагает, что при выпуске новой версии API сначала развертывается App 1
, а затем бизнес-уровень, но это предположение фактически уже присутствовало в вашей текущей настройке.
Рекомендую посмотреть эти видео для лучшего погружения в вопрос: