为了统一管理微服务配置文件,实现动态化刷新配置文件,常见的两种方式为阿波罗、SpringCloudConfig,关于两者主要区别是:
阿波罗配置文件存放在数据库中,SpringCloudConfig存放在Git里面
一、搭建过程
本篇主要演示阿波罗的搭建方式,详细步骤如下:
1、下载 aploll 配置中心
下载地址:https://github.com/nobodyiam/apollo-build-scripts
下载后首先本地解压一份,获取 sql 文件夹中的两个 sql 文件,连接服务器地址,运行创建这两个数据库。
2、上传至服务器
将 apollo-build-scripts-master.zip 文件上传到服务器中,我上传的是 /use/local 目录,上传后解压该 zip 文件。
3、修改demo.sh文件
编辑 demo.sh 文件,修改 ApolloPortalDB 和 ApolloConfigDB 相关的数据库连接串信息。
#apollo config db info
apollo_config_db_url=jdbc:mysql://数据库:3306/ApolloConfigDB?characterEncoding=utf8
apollo_config_db_username=用户名
apollo_config_db_password=密码(如果没有密码,留空即可)
# apollo portal db info
apollo_portal_db_url=jdbc:mysql://数据库:3306/ApolloPortalDB?characterEncoding=utf8
apollo_portal_db_username=用户名
apollo_portal_db_password=密码(如果没有密码,留空即可)
然后导入 sql 文件下的两个 sql 文件,也就是创建两个数据库,ApolloPortalDB 和 ApolloConfigDB,至于两个库的作用请自行查看官方文档说明吧。
修改 meta server 为部署服务器地址:
# meta server url
config_server_url=http://192.168.10.130:8080
admin_server_url=http://192.168.10.130:8090
eureka_service_url=$config_server_url/eureka/
portal_url=http://192.168.10.130:8070
根据自己情况填写。
4、启动阿波罗
./demo.sh start
如上图所示会持续1分钟左右,启动成功后如下图所示:
访问地址:
默认账户密码:apollo admin
创建一个项目:
创建配置:
填写 key、value 提交即可:
二、客户端集成配置文件
1、将本地配置存入到阿波罗平台中。
将properties配置文件格式的内容粘贴至 文本中。
转换工具:http://www.toyaml.com/index.html
2、引入Maven依赖
<dependency>
<groupId>com.ctrip.framework.apollo</groupId>
<artifactId>apollo-client</artifactId>
<version>1.0.0</version>
</dependency>
<dependency>
<groupId>com.ctrip.framework.apollo</groupId>
<artifactId>apollo-core</artifactId>
<version>1.0.0</version>
</dependency>
3、创建 application.properties
app.id=mayikt644064779
apollo.meta=http://192.168.212.236:8080
4、项目启动开启阿波罗配置文件
@EnableApolloConfig
运行后,可以在 eureka 中看到注册的客户端:
5、本地缓存
项目启动后会在本地缓存一份,详细可见
C:\opt\settings\server.properties(Windows)
我创建了一个java相关的公众号,用来记录自己的学习之路,感兴趣的小伙伴可以关注一下微信公众号哈:niceyoo