1、pom.xml 添加依赖;
<!--本地项目涉及到该sdk版本冲突时可能需要手动解决版本控制问题-->
<dependency>
<groupId>com.ctrip.framework.apollo</groupId>
<artifactId>apollo-client-tair</artifactId>
<version>1.4.0</version>
</dependency>
或者 : <dependency> <groupId>com.ctrip.framework.apollo</groupId> <artifactId>apollo-client</artifactId> <version>${apollo.version}</version> <scope>compile</scope> </dependency> <properties> <apollo.version>1.9.0</apollo.version> </properties>
2、启动类添加注解:@EnableApolloConfig;
示例:
@EnableDubbo
@EnableApolloConfig
@SpringBootApplication
public class ApolloTest {
public static void main(String[] args) {
SpringApplication.run(OfcCoreService.class, args);
}
}
3、yml文件添加apollo配置;
#Apollo 配置应用名称 app: ##应用id(自定义项目的名称) id: com-test-config-ms apollo: bootstrap: enabled: true eagerLoad: enabled: true
4、dev.yml文件、test.yml文件、prod.yml文件 配置apollo路径
示例:
apollo: configService: http://apollo-configservice.test.custom.com:8080 meta: http://apollo-configservice.test.custom.com:8080
5、apollo配置 自定义数据步骤
6、业务代码块 添加并读取 apollo配置 数据
示例:
// 自定义相关业务逻辑开关
// 注意:init.apollo.test.enabled = apollo 配置的key
@Value("${init.apollo.test.enabled}")
private boolean apolloTestEnabled;
if(Boolean.TRUE.equals(apolloTestEnabled)){
System.out.println(apolloTestEnabled);
}
小结:
一、Apollo(配置中心)
Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,适用于微服务配置管理场景。
Apollo服务端基于Spring Boot和Spring Cloud开发,打包后可以直接运行,不需要额外部署Tomcat等应用容器。
Apollo客户端不依赖任何框架,能够运行于所有Java运行时环境,同时对Spring/Spring Boot环境也有较好的支持。
二、Apollo特性
A、统一管理配置
Apollo提供了一个统一界面集中式管理不同环境(environment)、不同集群(cluster)、不同命名空间(namespace)的配置。
同一份代码部署在不同的集群,可以有不同的配置,比如zk的地址等。
通过命名空间(namespace)可以很方便的支持多个不同应用共享同一份配置,同时还允许应用对共享的配置进行覆盖。