Comparison of Open‑Source Configuration Centers: Spring Cloud Config, Apollo, and Nacos
This article compares three popular open‑source configuration centers—Spring Cloud Config, Apollo, and Nacos—across product features, user experience, deployment, multi‑language support, migration, performance, and high‑availability to help engineers choose the most suitable solution for microservice environments.
1. Why a Configuration Center Is Needed
Static configuration requires redeployment for changes, while a configuration center provides real‑time updates and consistency, balancing latency and performance.
It also offers permission control, gray releases, versioning, format validation, and security for configuration changes.
2. Open‑Source Configuration Centers Overview
Commonly used projects (ordered by open‑source date) are Disconf (no longer maintained), Spring Cloud Config (integrates with Spring Cloud), Apollo (Ctrip, with permission and workflow features), and Nacos (Alibaba, also provides service discovery).
3. Core Concept Comparison
All three share similar concepts—application, cluster, label/profile, namespace/environment—but differ in implementation details such as how applications are isolated and how namespaces are used.
4. Configuration Management Feature Comparison
Gray Release: Apollo supports UI‑driven gray release; Nacos (v0.9) does not.
Permission Management: Spring Cloud Config relies on Git permissions; Apollo uses project‑level owners; Nacos lacks permission features.
Versioning & Rollback: All provide version control, with Spring Cloud Config using Git.
Format Validation: Apollo and Nacos validate configuration formats; Spring Cloud Config does not.
Listening & Query: All support instance‑configuration mapping; Nacos is noted as the simplest to use.
Multi‑Environment & Multi‑Cluster: Spring Cloud Config uses profiles; Apollo uses environments; Nacos uses namespaces.
5. Real‑Time Push Comparison
Nacos and Apollo use HTTP long‑polling for push; Spring Cloud Config requires Git WebHook, Spring Cloud Bus, and a refresh endpoint, resulting in a longer, more complex chain.
6. Deployment & High Availability
Spring Cloud Config: Requires config‑server, Git, and Spring Cloud Bus; high HA needs multiple nodes for each component.
Apollo: Consists of MySQL, Config Service, Admin Service, and Portal; HA involves separate deployment of Portal and clustered services.
Nacos: Consists of Nacos Service and MySQL; production requires at least three Nacos nodes plus MySQL HA, but overall deployment is simpler.
7. Multi‑Language Support
Spring Cloud Config targets Java; Apollo and Nacos both provide open APIs for Java, Go, Python, Node.js, PHP, etc.
8. Migration Support
Spring Cloud Config natively supports Spring Boot/Cloud; Nacos can migrate seamlessly via Spring Cloud Alibaba; Apollo requires code changes.
9. Performance Comparison
Benchmarks (single‑node and three‑node) show Nacos achieving the highest read/write QPS, Apollo second, and Spring Cloud Config lowest due to Git limitations.
10. Feature Summary
Overall, Apollo offers the most comprehensive management features, Nacos provides simplicity and superior performance, while Spring Cloud Config has the highest operational cost.
11. References
Spring Cloud Config documentation, Apollo GitHub repository, and Nacos official site.
Code Ape Tech Column
Former Ant Group P8 engineer, pure technologist, sharing full‑stack Java, job interview and career advice through a column. Site: java-family.cn
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.