Choosing the Right Open‑Source Config Center: Spring Cloud Config vs Ctrip Apollo vs Disconf
Centralized configuration becomes essential as applications grow in complexity, prompting a detailed comparison of open‑source config centers—Spring Cloud Config, Ctrip Apollo, and Disconf—highlighting features, compatibility, usability, and ultimately recommending Apollo as the optimal solution for SpringBoot‑based microservices.
Why Centralized Configuration is Needed
As applications grow, the number of configuration items (feature switches, parameters, server addresses) increases, and expectations rise for real‑time updates, gray‑release, environment/cluster segregation, and robust permission and audit mechanisms. Distributed development further amplifies configuration complexity, making a config center essential.
Do We Still Need a New Center When Zookeeper/etcd Exist?
Our previous music‑service project used etcd for service registration and some configuration, demonstrating the benefits of centralization. However, etcd lacks a convenient UI, permission and audit features, and is primarily a service registry rather than a dedicated configuration manager.
Open‑Source Configuration Centers
spring‑cloud/spring‑cloud‑config – native Spring integration.
Taobao Diamond – no longer maintained.
Disconf – Java‑based, initiated by Ant Financial, widely used.
Ctrip Apollo – open‑source config management with permission, workflow, and audit features.
Feature Comparison (selected)
Feature Priority Spring‑Cloud‑Config Apollo Disconf
Static config management High file‑based supported supported
Dynamic config management High supported supported supported
Unified management High none (needs Git) supported supported
Multi‑environment Medium none (needs Git) supported supported
Local cache High none supported supported
Config lock Medium supported not supported not supported
Config validation Medium none none none
Config effective time - restart or manual refresh real‑time real‑time
Config push updates High manual trigger supported supported
Config pull schedule High none supported event‑driven
User permission management Medium none (needs Git) supported supported
Authorization, audit, review Medium none (needs Git) supported none
Config version management High Git versioning UI history & rollback DB records (no query API)
Config compliance check High not supported supported (needs improvement) none
Instance config monitoring High requires spring‑admin supported supported (shows machines)
Gray release Medium not supported supported partial update not supported
Alert notification Medium not supported email alerts email alerts
Dependency relationship High not supported not supported not supportedTechnical Compatibility
Feature Priority Spring‑Cloud‑Config Apollo Disconf
SpringBoot support High native supported not related
SpringCloud support High native supported not related
Client support Low Java Java, .Net Java
Intrusiveness High low low low (annotations & XML)
Dependency component High Eureka Eureka ZookeeperUsability and Availability
Feature Priority Spring‑Cloud‑Config Apollo Disconf
Single point of failure High HA support HA support HA via Zookeeper
Multi‑DC deployment High supported supported supported
Config fetch performance High unknown unknown (claimed faster) unknown
Config UI Medium none (Git) unified NG UI unified UIFinal Decision
Considering environment segregation, comprehensive management (permissions, release audit, operation audit), seamless SpringBoot integration, real‑time hot‑publish, and version control, Ctrip Apollo is the preferred choice.
Supports multiple environments and clusters.
Rich management system with permission, release review, and audit.
SpringBoot‑friendly with low migration cost.
Real‑time configuration updates (hot publish).
Version release management.
Deployment Details
Management Web: http://config.***.com/
MetaServers:
Dev: config.devmeta.***.com
Test: config.testmeta.***.com
PRO: config.prometa.***.com
Signed-in readers can open the original source through BestHub's protected redirect.
This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactand we will review it promptly.
ITFLY8 Architecture Home
ITFLY8 Architecture Home - focused on architecture knowledge sharing and exchange, covering project management and product design. Includes large-scale distributed website architecture (high performance, high availability, caching, message queues...), design patterns, architecture patterns, big data, project management (SCRUM, PMP, Prince2), product design, and more.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
