寫在前面:
最近在學習apollo方面的知識,apollo目前託管在GitHub上,相關文檔也主要在GitHub上。出於學習的需要,也因爲最近衆所周知的舊問題和新阻礙,爲了能更方便和穩定的訪問到這些內容,遂對官方文檔作一個整理,其中可能會加入自己的一些理解,文中所有有關官方文檔中的內容所有權歸原作者所有,理解內容(如果有的話)所有權歸我所有。
準備好了嗎?嘟嘟嘟嘟,嘟嘟喂嘟嘟。。。Every Body 嗨起來
Apollo版本:1.4.0
名詞解釋
- 普通應用
- 普通應用指的是獨立運行的程序,如
- Web應用程序
- 帶有main函數的程序
- 普通應用指的是獨立運行的程序,如
- 公共組件
- 公共組件指的是發佈的類庫、客戶端程序,不會自己獨立運行,如
- Java的jar包
- .Net的dll文件
- 公共組件指的是發佈的類庫、客戶端程序,不會自己獨立運行,如
一、普通應用接入指南
1.1 創建項目
要使用Apollo,第一步需要創建項目。
- 打開apollo-portal主頁
- 點擊“創建項目”
3. 輸入項目信息
- 部門:選擇應用所在的部門
- 應用AppId:用來標識應用身份的唯一id,格式爲string,需要和客戶端app.properties中配置的app.id對應
- 應用名稱:應用名,僅用於界面展示
- 應用負責人:選擇的人默認會成爲該項目的管理員,具備項目權限管理、集羣創建、Namespace創建等權限
4. 點擊提交
創建成功後,會自動跳轉到項目首頁
1.2 項目權限分配
1.2.1 項目管理員權限
項目管理員擁有以下權限:
- 可以管理項目的權限分配
- 可以創建集羣
- 可以創建Namespace
創建項目時填寫的應用負責人默認會成爲項目的管理員之一,如果還需要其他人也成爲項目管理員,可以按照下面步驟操作:
-
點擊頁面左側的“管理項目”
2. 搜索需要添加的成員並點擊添加
1.2.1 配置編輯、發佈權限
配置權限分爲編輯和發佈:
- 編輯權限允許用戶在Apollo界面上創建、修改、刪除配置
- 配置修改後只在Apollo界面上變化,不會影響到應用實際使用的配置
- 發佈權限允許用戶在Apollo界面上發佈、回滾配置
- 配置只有在發佈、回滾動作後纔會被應用實際使用到
- Apollo在用戶操作發佈、回滾動作後實時通知到應用,並使最新配置生效
項目創建完,默認沒有分配配置的編輯和發佈權限,需要項目管理員進行授權。
-
點擊application這個namespace的授權按鈕
2. 分配修改權限
3. 分配發布權限
1.3 添加配置項
編輯配置需要擁有這個Namespace的編輯權限,如果發現沒有新增配置按鈕,可以找項目管理員授權。
1.3.1 通過表格模式添加配置
-
點擊新增配置
2. 輸入配置項
3. 點擊提交
1.3.2 通過文本模式編輯
Apollo除了支持表格模式,逐個添加、修改配置外,還提供文本模式批量添加、修改。 這個對於從已有的properties文件遷移尤其有用。
-
切換到文本編輯模式
2. 點擊右側的修改配置按鈕
3. 輸入配置項,並點擊提交修改
1.4 發佈配置
配置只有在發佈後纔會真的被應用使用到,所以在編輯完配置後,需要發佈配置。
發佈配置需要擁有這個Namespace的發佈權限,如果發現沒有發佈按鈕,可以找項目管理員授權。
-
點擊“發佈按鈕”
-
填寫發佈相關信息,點擊發布
1.5 應用讀取配置
配置發佈成功後,應用就可以通過Apollo客戶端讀取到配置了。
Apollo目前提供Java客戶端,具體信息請點擊Java客戶端使用文檔:
如果應用使用了其它語言,也可以通過直接訪問Http接口獲取配置,具體可以參考其它語言客戶端接入指南
1.6 回滾已發佈配置
如果發現已發佈的配置有問題,可以通過點擊『回滾』按鈕來將客戶端讀取到的配置回滾到上一個發佈版本。
這裏的回滾機制類似於發佈系統,發佈系統中的回滾操作是將部署到機器上的安裝包回滾到上一個部署的版本,但代碼倉庫中的代碼是不會回滾的,從而開發可以在修復代碼後重新發布。
Apollo中的回滾也是類似的機制,點擊回滾後是將發佈到客戶端的配置回滾到上一個已發佈版本,也就是說客戶端讀取到的配置會恢復到上一個版本,但頁面上編輯狀態的配置是不會回滾的,從而開發可以在修復配置後重新發布。