本篇主要记录java客户端如何接入携程的apollo配置中心,以及接入时所遇到的各种小问题
1 .前期准备
1.1 pom依赖
首先我们需要依赖 apollo 客户端的pom文件
<dependency>
<groupId>com.ctrip.framework.apollo</groupId>
<artifactId>apollo-client</artifactId>
<version>1.1.0</version>
</dependency>
1.2 appid
AppId是应用的身份信息,是从服务端获取配置的一个重要信息。
有多种方式可以配置
- System Property
- 操作系统的System Environment
- Spring Boot application.properties
- app.properties
官方文档写了详细教程,我这边不多赘述,我使用的是app.properties 文件形式
写上自己的appid
1.3 apollo meta server
Apollo支持应用在不同的环境有不同的配置,所以需要在运行提供给Apollo客户端当前环境的Apollo Meta Server信息。默认 情况下,meta server和config service是部署在同一个JVM进程,所以meta server的地址就是config service的地址。
这个也是有多种配置方式的 这边为了测试 就随便选择了一种方式 后期分环境再进行详细说明
我这边直接在application.properties 中配置了
1.4 Environment
环境也有多种配置方式 这边使用的是官方推荐的配置文件方式
Mac/Linux,文件位置为/opt/settings/server.properties
Windows,文件位置为 C:\opt\settings\server.properties
env=DEV
这边DEV表示选中环境,我用于测试就随便使用了一个环境,apollo自身支持多环境配置(大小写不敏感)
- Development environment
- FAT
- Feature Acceptance Test environment
- UAT
- User Acceptance Test environment
- PRO
不同的环境配置 会到相应环境的数据库中取得相应的配置数据
2 java接入
java项目中接入方式有很多 都可以去官方文档查看 官方文档 我选择使用 java配置方式
/**
* @author Jason Song(song_s@ctrip.com)
*/
@Configuration
@EnableApolloConfig(value = "application", order = 10)
public class AppConfig {
}
我apollo的配置已经完成了 如果各位未配置 可以看在下之前写的 apollo配置demo
我在apollo上已经进行了配置
下面测试
执行后
好的 这边单环境的就已经配置大功告成了
希望大家能得到帮助 后面会更新多环境的
-------------------------------------------客户端多环境配置--------------------------------------
其实当你单环境配置ok后 多环境就很简单了 轻车熟路
客户端和portal 都是一样的 需要配置不同环境的 meta-server
我采用的配置文件的做法
这边有几个环境就配置几个meta-server
然后 环境的切换 就直接到
windows 系统 C:\opt\settings/server.properties
linux系统 则是 /opt/settings/server.properties
这样 就完成多环境的配置了
apollo的功能还有很多 就不一一示范了 可以查看官方文档学习 官方文档