// the find
apolloconfig/apollo
Apollo is a reliable configuration management system suitable for microservice configuration management scenarios.
Apollo is a centralized configuration management system built at Ctrip and open-sourced. It handles multi-environment, multi-cluster config distribution with real-time push to clients (sub-second), a web portal for editing/releasing configs, and a grayscale release mechanism. It's aimed at Java/Spring microservice shops that need more than environment variables and less than a full service mesh.
1. The namespace model is genuinely well-designed — configs can be shared across apps or overridden per-cluster, which solves a real problem that simpler tools like Consul KV don't handle cleanly. 2. Grayscale config release works at the instance level: you can push to 10% of pods and watch before rolling out, which is rare in open-source config tools. 3. The separation between Config Service (client-facing, read-heavy) and Admin Service (write operations) means you can scale reads independently without touching the write path. 4. The audit trail with edit/publish separation enforced at the data model level reduces the blast radius of accidental config changes — you can't publish what you haven't reviewed.
1. The deployment story is three separate Spring Boot apps (Config Service, Admin Service, Portal) plus MySQL and a meta server — there's no single-binary or embedded mode, so local dev setup is a real project. The Quick Start requires running a shell script and hoping nothing conflicts on your machine. 2. The client-side SDK is long-polling over HTTP back to the Config Service; if that service has a hiccup, clients fall back to a local cache file on disk. This is fine for stateless apps but can cause subtle issues with long-running JVM processes that read config once at startup and never refresh. 3. Documentation is heavily Chinese-first — the English docs exist but lag behind and some sections are machine-translated. If you're outside the Chinese tech ecosystem, you'll hit walls in the community forums and issue tracker. 4. No native secrets management — Apollo stores everything as plaintext strings in MySQL. You can encrypt values yourself via the open API, but there's no built-in secrets engine, rotation, or Vault integration. For anything that touches credentials you're rolling your own solution on top.