Spring Boot - zarządzanie specyficznymi konfiguracjami klientów

Spring Boot - zarządzanie specyficznymi konfiguracjami klientów
Blady Zamosc
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 6
0

Hej,

Czy podzielilibyście się Waszymi przemyśleniami/doświadczeniami odnośnie konfigurowania aplikacji spring boot-owej. Jak to najlepiej/najprościej Waszym zdaniem zrobić, aby ta sama aplikacja uruchamiała się na AWS lub Azure z różnymi konfiguracjami klienta? Czy przykładowo dla każdego z tych klientów warto tworzyć osobny profil? Czy może macie o wiele lepsze pomysły?

Z góry dzięki za wszystkie opinie, a już szczególnie te pochodzące z własnego doświadczenia.

Shalom
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Space: the final frontier
  • Postów: 26433
1

Ja bym raczej miał jakieś wewnętrzne repo z application.properties dla każdego klienta i deployment z CI brałby sobie odpowiedni konfig.
Alternatywnie można też mieć jakąś bazę danych / key value store, z konfiguracjami per klient.

Charles_Ray
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 1912
2

A jak będziesz chciał zarządzać tymi konfiguracjami?
Czy zmiana propertasa może wymagać restartu aplikacji?

Jeśli jakaś adminka, to można trzymać w bazie albo jakimś Consulu - wtedy potencjalnie może nie być wymagany restart aplikacji, tylko cache. Gorzej, jak te propertiesy są używane do konfiguracji beanów springowych, np. klientów HTTP, wtedy możesz użyć zewnętrzny Config Service.

https://cloud.spring.io/spring-cloud-config/reference/html/
https://www.consul.io/api/kv.html
https://cloud.spring.io/spring-cloud-consul/2.1.x/multi/multi_spring-cloud-consul-config.html

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.