Cloud Native 8 min read

Master Spring Cloud Config: Centralized Configuration for Microservices

This guide explains Spring Cloud Config's role in microservice architectures, covering its core features, architecture components, workflow, and step‑by‑step setup—including server creation, repository configuration, client integration, and optional dynamic refresh—while providing practical code snippets and diagrams.

Mike Chen's Internet Architecture
Mike Chen's Internet Architecture
Mike Chen's Internet Architecture
Master Spring Cloud Config: Centralized Configuration for Microservices

What is Spring Cloud Config?

Spring Cloud Config is a component of the Spring Cloud ecosystem that provides centralized management of configuration information for distributed systems.

Why Use a Configuration Center?

In microservice architectures with many services, managing configuration files separately leads to inconsistencies. A centralized config center solves this by storing configs in a version‑controlled repository (e.g., Git) and serving them to clients.

Key Features

Centralized configuration management : Store all service configs in one place, typically a Git repository.

Dynamic refresh : Applications can refresh configuration at runtime via an API without restarting.

Multi‑environment support : Separate files for development, testing, production, etc.

Version control : Config files are versioned in Git, enabling history tracking.

Security : Supports encryption and integrates with authentication/authorization mechanisms.

Integration with other Spring Cloud components : Works with Eureka, Ribbon, Feign, and more.

Spring Cloud Config最详解(万字图文总结)-mikechen
Spring Cloud Config最详解(万字图文总结)-mikechen

Architecture Overview

Spring Cloud Config consists of four main parts:

Config Server – a standalone service that reads configuration files from a repository and exposes them via REST.

Configuration repository – typically a Git repository (public or private) that holds the property files.

Client applications – services that request their configuration from the Config Server.

Configuration retrieval and refresh – clients obtain properties via @Value or Environment and can trigger a refresh by POSTing to /actuator/refresh.

Spring Cloud Config最详解(万字图文总结)-mikechen
Spring Cloud Config最详解(万字图文总结)-mikechen

Typical Workflow

Client startup : The client sends a request to the Config Server with its application name and active profile.

Config Server response : The server reads the matching files from the Git repo and returns them.

Application runtime : The client accesses properties using @Value or Environment.

Refresh (optional) : Sending a POST to /actuator/refresh makes the server reload the latest files and notifies clients.

Spring Cloud Config最详解(万字图文总结)-mikechen
Spring Cloud Config最详解(万字图文总结)-mikechen

Implementation Steps

1. Create the Config Server

Add the spring-cloud-config-server dependency to a new Spring Boot project and annotate the main class with @EnableConfigServer. Configure application.properties as follows:

spring.application.name=config-server
server.port=8888
spring.cloud.config.server.git.uri=<Git repository URL>

2. Configure the Repository

Place one or more property files in the Git repository, naming them according to the service name and profile (e.g., serviceA-dev.yml).

3. Create a Client Application

Add spring-cloud-starter-config to the client’s dependencies. Use @Value or Environment to inject configuration values.

4. Enable Dynamic Refresh (optional)

Add Spring Boot Actuator to the client and expose the /actuator/refresh endpoint. POST to this endpoint to reload configuration without restarting.

5. Test and Verify

Start the Config Server and the client application, then confirm that the client receives the expected properties and that a refresh request updates them at runtime.

Spring Cloud Config最详解(万字图文总结)-mikechen
Spring Cloud Config最详解(万字图文总结)-mikechen
microservicesConfiguration ManagementGitSpring BootDynamic RefreshSpring Cloud Config
Mike Chen's Internet Architecture
Written by

Mike Chen's Internet Architecture

Over ten years of BAT architecture experience, shared generously!

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.