官方git地址: Apollo
设计文档 - Apollo配置中心设计 - 《携程 Apollo v2.0 使用教程》 - 书栈网 · BookStack
初识:
分布式配置中心
集中化管理应用不同环境、不同集群的配置
配置修改后实时更新推送至应用端
适用于微服务配置管理
Java整合Apollo
项目整合apollo
1、在资源路径resources目录下添加apollo-env.properties,下面配置的不同环境地址可以是同一个,只是我的这个项目分开了,每个环境独立用一个,下面写成对应的环境地址
dev.meta=开发环境地址
fat.meta=测试环境地址
pro.meta=生产环境地址
2、在资源路径resources目录下创建META-INF/app.properties文件
app.id = 应用唯一id
以上我们配置的是脚本,通过启动命令 指定环境和appid
-Denv=$APOLLOENV -Dapp.id=$APOLLOAPPID
3、上面的apollo配置文件在pom.xml里打包资源配置中加上
4、pom.xml依赖添加apollo-client:
<!--配置中心-->
<dependency>
<groupId>com.ctrip.framework.apollo</groupId>
<artifactId>apollo-client</artifactId>
</dependency>
5、在spring配置文件中加上下面标签
<apollo:config namespaces="application"/>
6(这个步骤我的项目没有配置,其中opt/data目录是集成Apollo启动后直接生成在了本地机器上,没有会自动创建)、在部署的机器上添加文件/opt/settings/server.properties,这个文件路径和名称不能改,项目启动找的环境就是这个文件,这只是其中一种配置环境选择的方式,其它的就不说了,选择适合自己的就行了,这文件里配置如下:
env=DEV // 选择限DEV环境
apollo.cacheDir=/opt/data/ // 环境变量本地缓存,这个目录要给足读写权
这个环境变量本地缓存配置上之后,在项目启动后会把配置文件在本地指定目录缓存一份,遇到apollo不可用时依然能从本地环境获取,不影响项目运行。