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
通過各種MySQL客戶端導入sql/apolloportaldb.sql即可。
2.3.2 創建ApolloConfigDB
通過各種MySQL客戶端導入
sql/apolloconfigdb.sql即可。


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依賴
<dependency> <groupId>com.ctrip.framework.apollo</groupId> <artifactId>apollo-client</artifactId> <version>1.1.0</version> </dependency>
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 @EnableApolloConfig public class AppConfig { @Bean public TestJavaConfigBean javaConfigBean() { return new TestJavaConfigBean(); } }
3.4.2 TestJavaConfig
public class TestJavaConfigBean { @Value("${timeout:100}") private int timeout; private int batch; @Value("${batch:200}") public void setBatch(int batch) { this.batch = batch; } public int getTimeout() { return timeout; } public int getBatch() { return batch; } }
3.4.3 TestController
/** * @author c-can-z */ @RestController public class TestController { @Autowired private TestJavaConfigBean testJavaConfigBean; @RequestMapping("get") public String 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等, 使用都是大同小異
有疑問留言, 我會及時回復
代碼之路, 道阻且長, 且行且珍惜