Properties-Versionierung mit Spring Cloud Config
Ich vermisse hier wahrscheinlich etwas, aber was ist eine gute Lösung für die Versionierung von Eigenschaften?
In einem blaugrünen Bereitstellungsszenario mit Änderungen des Eigenschaftswerts (alte App-Version verwendet den alten Wert, neue Version erfordert den neuen Wert) können Sie beispielsweise sicherstellen, dass beide Versionen Ihrer App erfolgreich koexistieren (unter Berücksichtigung möglicher Neustarts) und Rollbacks)?
Eine Option wäre, neue Eigenschaftsnamen für die Eigenschaften zu erstellen, auf die neue Werte angewendet werden müssen. Dies ist natürlich keine gute Option, da wir alle Verwendungen dieser Eigenschaft in der Codebasis nachverfolgen und ihre Referenz entsprechend aktualisieren müssen. Es ist auch aus konzeptioneller Sicht nicht schön.
Eine weitere Option besteht darin, für jede Version einen Zweig zu haben. Während dies für dieses Szenario sehr gut funktionieren könnte, stelle ich mir eine Verzweigungs- / Tag-Hölle vor, während wir das Konfigurations-Repo auf mehrere Apps skalieren und ihre jeweiligen Verzweigungen sich in verschiedene Richtungen entwickeln.
Eine Lösung für die Hölle in der Branche wäre, für jede App ein separates Konfigurations-Repo zu haben. Aber ich glaube, dass dies in gewissem Sinne den Zweck des Konfigurationsservers zunichte macht, da es zusätzlichen Aufwand verursacht.
Alle anderen Ansätze?