天天看點

基于winserver的Apollo配置中心分布式&叢集部署實踐(正确部署姿勢)

前幾天對Apollo配置中心的demo進行一個部署試用,現公司已決定使用,這兩天進行分布式部署的時候,每一步都踩着坑過來的。是以寫文檔與需要的朋友分享。

此篇文章不代表官方部署流程,隻是自己的部署的實踐方式,屏蔽了一些官方的多餘的部署講解。如果有問題還請到Apollo的wiki文檔進行檢視:https://github.com/ctripcorp/apollo/wiki/%E5%88%86%E5%B8%83%E5%BC%8F%E9%83%A8%E7%BD%B2%E6%8C%87%E5%8D%97

另外,真想吐槽下Apollo配置中心部署惡心度真的是……,吐槽歸吐槽,但是Apollo配置中心的功能強大而且具有非常高的可用性,在同類型産品裡也算是數一數二。

在進行分布式部署前我還是建議用Apollo的quick start版本進行試用。可以參考我這篇文章《基于winserver部署Apollo初次體驗(附.net用戶端demo)》

jdk18+

gitbash

mysql 5.6.5+

Apollo

apollo-configservice

作為用戶端的擷取配置的接口服務,與用戶端進行Http long polling,實作配置更新的退送與拉取

apollo-adminservice

作為管理背景的接口服務,提供配置管理、修改、釋出

apollo-portal

Web管理配置背景

以下正式開始部署

源碼\scripts\sql下兩腳本,到mysql執行

apolloconfigdb.sql

apolloportaldb.sql

切換到上面已下載下傳阿波羅源碼\scripts目錄下,運作build.bat。需要等待幾分鐘,編譯完成後,準備三個服務部署,部署順序也如下

apollo-porta

源碼\apollo-configservice\target\apollo-configservice-0.11.0-SNAPSHOT-github.zip

解壓到需要部署的伺服器檔案夾

添加檔案application-github.properties,内容如下:

編輯\scripts\startup.sh,修改日志目錄

輕按兩下startup.sh啟動服務。

啟動完後檢視日志,如果出現下面資訊,請耐心等待幾分鐘,輸入localhost:8080嘗試

源碼\apollo-adminservice\target\apollo-adminservice-0.11.0-SNAPSHOT-github.zip

同上步驟2、3、4、5(注意資料庫資訊、日志目錄對應修改)

localhost:8090嘗試

源碼\apollo-portal\target\apollo-portal-0.11.0-SNAPSHOT-github.zip

添加檔案application-github.properties,内容如下(注意資料庫連接配接與前兩者不一樣)

編輯\scripts\startup.sh,修改日志目錄與端口号

輕按兩下startup.sh啟動服務

輸入localhost:8070嘗試,如日志沒其他異常,等待幾分鐘再次嘗試通路

在C:\opt\settings 添加檔案server.properties内容:

env=DEV

以上為單機部署的流程,下面講解叢集部署的流程:

基于winserver的Apollo配置中心分布式&叢集部署實踐(正确部署姿勢)

Eureka與apollo-configservice為同一個JVM程序,為了好描述拆開了。

在apollo-configservice與apollo-adminservice啟動時會向Eureka進行服務注冊,Apollo用戶端和apollo-Portal會從Eureka進行服務查找,然後通過服務位址直接通路

每個服務都是無狀态的,是以橫向擴充相對比較簡單

update apolloconfigdb.serverconfig set value = 'http://10.1.20.137:8080/eureka/' where id = 1

到B伺服器重複上述兩個服務的部署步驟(注意基本環境的安裝)

輸入http://10.1.20.137:8080進行檢視,eureka管理界面status出現多台主機名稱為部署成功。

基于winserver的Apollo配置中心分布式&叢集部署實踐(正确部署姿勢)

以上為我與大家分享的部署流程,如有問題可以及時在下方評論與我,我會盡快回複

作  者:

陳珙

出  處:http://www.cnblogs.com/skychen1218/

關于作者:專注于微軟平台的項目開發。如有問題或建議,請多多賜教!

版權聲明:本文版權歸作者和部落格園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連結。

聲援部落客:如果您覺得文章對您有幫助,可以點選文章右下角推薦一下。您的鼓勵是作者堅持原創和持續寫作的最大動力!