Управление версиями свойств с помощью Spring Cloud Config
Я, наверное, что-то здесь упускаю, но что такое хорошее решение для управления версиями свойств?
Например, в сине-зеленом сценарии развертывания с изменениями значения свойства (старая версия приложения использует старое значение, новая версия требует новое значение), как вы можете гарантировать, что обе версии вашего приложения могут успешно сосуществовать (учитывая возможные перезапуски и откаты)?
Одним из вариантов может быть создание новых имен свойств для свойств, которые требуют применения новых значений. Это, конечно, не очень хороший вариант, так как нам нужно отслеживать все случаи использования этого свойства в базе кода и соответствующим образом обновлять его ссылку. Это также не очень хорошо с концептуальной точки зрения.
Другой вариант - иметь ветку для каждого релиза. Хотя это может очень хорошо работать в этом сценарии, я предполагаю ад ветки / метки, когда мы масштабируемся до репо конфигурации с несколькими приложениями, и их соответствующие ветви развиваются в разных направлениях.
Решением ада филиала было бы иметь отдельный репозиторий для каждого приложения. Но я полагаю, что это в некотором смысле противоречит цели сервера конфигурации, поскольку это добавляет накладные расходы.
Любые другие подходы?