Spring Cloud Config
The Spring Cloud Config server is an externalized configuration server in which applications and services can deposit, access, and manage all runtime configuration properties. The Spring Config server also supports version control of the configuration properties.
In the earlier examples with Spring Boot, all configuration parameters were read from a property file packaged inside the project, either application.properties
or application.yaml
. This approach is good, since all properties are moved out of code to a property file. However, when microservices are moved from one environment to another, these properties need to undergo changes, which require an application re-build. This is violation of one of the Twelve-Factor application principles, which advocate one-time build and moving of the binaries across environments.
A better approach is to use the concept of profiles. Profiles, as discussed in Chapter 2, Building Microservices with Spring Boot, is used for partitioning...