1. Apollo背景
对程序配置的期望值也越来越高:配置修改后实时生效,灰度发布,分环境、分集群管理配置,完善的权限、审核机制……
废话不多说,参考
官方文档
如果不想看文档, 也没关系, 跟着我一步步走.
2. 安装Apollo服务端
因为是简单案例, 所以就用官方的
Quick Start
2.1 环境要求
以下是采用Linux环境配置 Apollo服务启动包
2.1.1 CentOS7, 不懂linux的, 可以不要继续往下看了.
虚拟机ip为: 192.168.102.140
2.1.2 JDK1.8 以上, 不懂安装JDK, 请自行百度
2.1.3 MySQL5.6.5+以上, 不懂安装MySQL, 请自行百度
2.2 下载 Apollo服务端 Jar包
2.2.1 百度网盘
2.2.2 自己下载源码, 自己打包, 挑战性比较大, 建议放弃
2.2.3 把下载好的jar包, 从windows上, 拉取到linux系统中
2.3 创建数据库, 存储Apollo的配置数据
2.3.1 创建ApolloPortalDB
步骤1 通过mysql客户端, 如Navicat, 连接linux中的数据库.
步骤2 导入sql
2.3.2 创建ApolloConfigDB
2.3.3 配置数据库连接信息
2.4 执行启动脚本
默认端口为: 8070
./demo.sh start
注意: 脚本会在本地启动3个服务,分别使用8070, 8080, 8090端口,请确保这3个端口当前没有被使用。
2.5 打开网页查看
添加两个参数
timeout :100
batch : 200
=================================================以上 服务端配置完毕
3. Apollo客户端
3.1 创建一个springboot项目
选择 SringWeb的依赖
3.2 添加Apollo依赖
com.ctrip.framework.apollo
apollo-client
1.1.0
3.3 配置application.properties
注意: 连接apollo界面的端口为8090, 连接server端口为 8080
#appId 同来区别不同的配置
app.id=SampleApp
#apollo服务器地址
apollo.meta=http://192.168.102.140:8080
3.4 测试项目结构
3.4.1 AppConfig
@Configuration
@EnableApolloConfigpublic classAppConfig {
@BeanpublicTestJavaConfigBean javaConfigBean() {return newTestJavaConfigBean();
}
}
3.4.2 TestJavaConfig
public classTestJavaConfigBean {
@Value("${timeout:100}")private inttimeout;private intbatch;
@Value("${batch:200}")public void setBatch(intbatch) {this.batch =batch;
}public intgetTimeout() {returntimeout;
}public intgetBatch() {returnbatch;
}
}
3.4.3 TestController
/***@authorc-can-z*/@RestControllerpublic classTestController {
@AutowiredprivateTestJavaConfigBean testJavaConfigBean;
@RequestMapping("get")publicString get(){int batch =testJavaConfigBean.getBatch();int timeout =testJavaConfigBean.getTimeout();return "batch:"+batch+", timeout:"+timeout;
}
}
3.5 启动项目
3.5.1 访问项目
3.5.2 修改apollo配置
3.5.3 查看日志
3.5.4 再一次访问项目
4 后记
该文章为apollo的最简单的使用, 如果想要了解更多, 还是从官方文章获取.
目前的配置中 SpringCloud-Config, zookeeper等, 使用都是大同小异
有疑问留言, 我会及时回复
代码之路, 道阻且长, 且行且珍惜
原文出处:https://www.cnblogs.com/ccz-love-lqm/p/11941267.html