Esta página se muestra en inglés. Una traducción al español está en curso.
ScriptsMay 4, 2026·3 min de lectura

Apollo Config — Distributed Configuration Management Center

Apollo is a reliable configuration management system for distributed microservices, providing centralized config management, real-time push, versioning, and gray releases.

Introduction

Apollo is a configuration management center developed by Ctrip (Trip.com Group) for distributed systems. It centralizes application configuration across environments and clusters, enabling real-time config pushes without restarting services. Apollo is widely adopted in production by organizations running Java-based microservice architectures.

What Apollo Config Does

  • Centralizes configuration for multiple applications, environments, and clusters in a single portal
  • Pushes configuration changes to clients in real time (typically under 1 second)
  • Tracks full version history of every configuration change with rollback support
  • Supports gray releases to push config changes to specific instances before full rollout
  • Provides namespace-based config isolation with inheritance and override capabilities

Architecture Overview

Apollo follows a three-tier architecture: the Config Service handles config reading and real-time push via long polling, the Admin Service manages config modifications through the Portal, and the Meta Server acts as a service discovery layer. Clients maintain a local cache for resilience against network failures. Eureka is embedded for internal service registration, and a MySQL database stores all configuration data, audit logs, and release history.

Self-Hosting & Configuration

  • Requires Java 8+ runtime and MySQL 5.7+ for persistent storage
  • Deploy Config Service, Admin Service, and Portal as separate processes for production
  • Configure server.properties with database connection strings and Eureka endpoints
  • Use environment variables or -D JVM flags to set per-environment Meta Server addresses
  • Docker and Kubernetes Helm charts are available for containerized deployments

Key Features

  • Multi-environment management (DEV, FAT, UAT, PRO) from a single dashboard
  • Access control with per-namespace permissions and operation audit logging
  • Open API for programmatic config management and CI/CD integration
  • Client-side caching ensures applications continue running even if Apollo is temporarily unavailable
  • Supports multiple config formats including properties, XML, JSON, YAML, and plain text

Comparison with Similar Tools

  • Spring Cloud Config — Git-backed and simple but lacks a management UI, real-time push, and gray release capabilities
  • Consul KV — Lightweight key-value store with watches, but no versioning, rollback, or structured namespace model
  • etcd — Low-level distributed KV store best for infrastructure config rather than application-level settings
  • Nacos — Combines service discovery and config with a similar feature set, but Apollo has a more mature permission and release workflow

FAQ

Q: Does Apollo support non-Java applications? A: Yes. Apollo provides an Open API and clients for Go, Python, Node.js, PHP, and .NET in addition to its native Java client.

Q: How does Apollo handle config changes during a deployment? A: Config changes are pushed in real time via long polling. Applications receive updates without restarting. For staged rollouts, use the gray release feature to target specific instances.

Q: Can Apollo run in Kubernetes? A: Yes. Official Helm charts are available, and the community maintains Kubernetes-native deployment guides with ConfigMap integration.

Q: What happens if the Apollo server goes down? A: Clients cache the last-known configuration locally. Applications continue operating with cached values until the server recovers.

Sources

Discusión

Inicia sesión para unirte a la discusión.
Aún no hay comentarios. Sé el primero en compartir tus ideas.

Activos relacionados