springBoot项目迁移配置到Apollo配置中心

简介
Apollo项目共分三个工程,portal,adminservice,configservice
Apollo的部署,文档挺详细的:
部署前的系统需求:
https://github.com/ctripcorp/apollo/wiki/分布式部署指南
部署流程:
https://github.com/ctripcorp/apollo/wiki/分布式部署指南#二部署步骤
说一下部署完成调整的东西:
修改apollo系统的配置
修改系统配置
将文档中的配置名称复制到key框中,然后根据自己的需要修改,就是增加用户,增加环境等一些操作。
注:上图为添加可支持的环境列表,就是增加一种环境。

Apollo发布配置的执行流程为:
用户在portal界面修改,发布配置等请求,对应admin的接口,admin将配置保存到configDB数据库中,然后通知configservice,configservice通知client,也就是你整合apollo的项目,
然后你的应用从configservice获取配置。

整合项目的流程
(springboot项目迁移配置文件至apollo)

注意:确保apollo的portal界面可以正常访问,自己的项目没有整合apollo之前可以正常跑起来。

1.在项目的resources下创建META-INF文件夹,新建app.properties文件,新增配置:
app.id=项目id。 //String格式,对应apollo中创建项目输入的id值
apollo.meta=http://ip+port //此为apollo的configservice的访问路径
配置文件
2.pom文件引入apollo的依赖:

<dependency>
<groupId>com.ctrip.framework.apollo</groupId>
<artifactId>apollo-client</artifactId>
<version>1.1.0</version>
</dependency>

注:version和部署的apollo项目版本一致,就是从git上面下载的工程的版本
3.在springboot的启动类上面添加注解:

@EnableApolloConfig

打开apollo的界面:
点击创建项目:
创建项目
部门可先使用默认的,需要自定义的名称可以到apollo的数据库中修改,或者在上文的apollo的界面,参数配置,输入部门的key,进行修改。
应用id填入项目中app.properties文件配置的appid。
应用名自定义
负责人可先用apollo默认的管理员
点击提交

转到项目的界面后
点击文本,再点击修改配置
编辑配置
将项目中的application.properties文件内容复制到文本框中,保存。
或者application.yml格式的转换成preperties格式。
然后页面显示配置未发布,点击发布后项目才可以从apollo读取配置。
新增配置也可以通过表格,使用K、V格式填入新增的配置。
然后发布配置,将本地项目的配置文件删除,启动项目。 //提前备份配置文件!
然后发现端口号,数据库等配置都是从apollo读取到的。

测试:可以通过修改配置中心设置的端口号,然后重启项目可以发现端口号已经修改。
或者写一个controller,通过@Value(“${somekey}”),返回对应key的value。打印到页面查看。
测试获取配置
访问项目显示:

以上是将springboot的配置文件迁移到apollo,此配置除了系统配置,如端口号不支持配置的热部署,其他配置更新后不需要重启项目。这只是最简单的整合,后期包括不同环境应用不同配置,通过集群管理多个微服务的配置,等后续再讲。

另外,apollo的优点还在于会在项目所在的机器上面缓存一份配置文件,如果apollo任一服务关闭或者异常,应用还是可以读取本地配置文件从而不影响运行。
配置文件缓存路径

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值