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-msapollo:bootstrap:enabled: trueeagerLoad:enabled: true
4、dev.yml文件、test.yml文件、prod.yml文件 配置apollo路径
示例:
apollo:configService: http://apollo-configservice.test.custom.com:8080meta: 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)可以很方便的支持多个不同应用共享同一份配置,同时还允许应用对共享的配置进行覆盖。