The central configuration pattern has the following problem, solution, and solution requirements.
Problem
An application is, traditionally, deployed together with its configuration, for example, a set of environment variables and/or files containing configuration information. Given a system landscape based on a microservice architecture, that is, with a large number of deployed microservice instances, some queries arise:
How do I get a complete picture of the configuration that is in place for all the running microservice instances?
How do I update the configuration and make sure that all the affected microservice instances are updated correctly?
Solution
Add a new component, a configuration server, to the system landscape to store the configuration of all the microservices, as illustrated by the following diagram:
Diagram
Description automatically generated
Figure 1.11: The central configuration design pattern
Solution requirements
Make it possible to store configuration information for a group of microservices in one place, with different settings for different environments (for example, dev, test, qa, and prod).