⚙️ Config Service
Github: github.com/le-minh-duc-dev/chat-system-config-server.git
📘 Overview
The Config Service acts as a centralized configuration server that manages and serves externalized configuration for all microservices in the system. It allows dynamic updates and consistent configurations across environments (development, staging, production), supporting both versioning and Git-backed configuration.
This service is built using Spring Cloud Config Server, which reads configurations from a Git repository and exposes them via HTTP endpoints to client applications.
🚀 Responsibilities
- Centralize and externalize configurations for all services.
- Support environment-specific configurations.
- Enable dynamic refresh of configurations using Spring Cloud Bus (optional).
- Secure configuration access via role-based permissions (optional).
🛠️ Technologies
- Spring Boot
- Spring Cloud Config Server
- GitHub (for configuration storage)
🔧 How Clients Connect
Each microservice (e.g., chat-service
, auth-service
, etc.) connects to the Config Service by setting:
spring:
config:
import: optional:configserver:http://localhost:8080
And by setting the service name so it pulls the corresponding config:
spring:
application:
name: chat-service
This will fetch chat-service.yml
or chat-service-{profile}.yml
chat-service.properties
or chat-service-{profile}.properties
from the Git repo.