Apollo
Apollo
Apollo 是携程开源的分布式配置管理中心,集中化管理应用不同环境、不同集群的配置,修改后秒级推送到应用端。
适用场景
大型企业微服务架构、需要多环境配置隔离、权限管理和审计的配置中心场景。
核心概念
| 概念 | 说明 |
|---|---|
| App | 应用,每个应用有唯一 AppId |
| Environment | 环境(DEV/UAT/PRO) |
| Cluster | 集群,同一应用在不同集群可有不同配置 |
| Namespace | 命名空间(配置分组,如数据库、缓存配置) |
客户端接入
<dependency>
<groupId>com.ctrip.framework.apollo</groupId>
<artifactId>apollo-client</artifactId>
<version>${apollo.version}</version>
</dependency>app.id=service-goods
apollo.meta=http://192.168.2.252:8080启动类添加 @EnableApolloConfig。
配置获取
// @Value 注解
@Value("${timeout:5000}")
private int timeout;
// @ConfigurationProperties
@Component
@ConfigurationProperties(prefix = "apollo")
public class ApolloConfig {
private int timeout;
private String url;
}与 Nacos 对比
| 维度 | Apollo | Nacos |
|---|---|---|
| 配置管理 | 权限管理、审计、环境隔离 | 轻量、配置+注册合一 |
| 适用场景 | 大型企业、多环境 | 快速上手、轻量级 |
| 实时推送 | 支持 | 支持 |
| 管理界面 | 完善 Web 控制台 | 简洁 Web 控制台 |
常见问题
| 问题 | 排查方向 |
|---|---|
| 配置获取失败 | 检查 Meta Server 地址、app.id、网络连通性 |
| 配置不生效 | 确认 @EnableApolloConfig、Namespace、配置已发布 |