專案之前的配置資訊全部都在 resources 目錄下,當然這裡我使用的是 spring boot 搭建的專案。使用 apollo 後,配置資訊全部轉移到 apollo 中管理,之後在 apollo 中修改配置後,只需要重啟伺服器就好了。
熱重新整理業務配置
,修改 apollo 中的配置後,不需要重啟伺服器,直接再次訪問介面,即可獲取到配置中的資訊。這裡的熱重新整理肯定不是隨口一說或者整合一下 apollo 就可以重新整理,需要自己寫**,整合 apollo 的 client,監聽 apollo 的配置修改,然後進行資料重新整理。
apollo 的功能還是很多的,比如灰度發布
之後也需要用到。
在 win 上一般情況下啟動時,會出現資料庫配置找不到的問題,解決方案如下
spring
datasource
:url
: jdbc:mysql://localhost:3306/apolloportaldb?characterencoding=utf8
username
: root
password
:123456
以上資料庫的配置,根據不同的模組進行修改即可,然後按照下面所說的啟動順序去啟動專案。
win 上修改 build.bat,mac 上修改 build.sh 檔案裡面的 mysql 資料庫配置資訊,包括 eurake 註冊中心的埠修改
執行 build 檔案
將 adminservice、configservice、portal 三個模組中 target 目錄下的 ***-github-***.zip 檔案解壓,並上傳至 centos 伺服器中
執行三個解壓包中的 script 目錄下的 start 指令碼
訪問路徑 ip:port
config service
admin service
portal service
引入apollo-client
1.3.0 依賴
啟動類上加上註解@enableapolloconfig
yml or properties 配置檔案中寫上訪問 apollo 的配置
依賴我使用的是 apollo-client 1.3.0 ,這個版本支援 yml 配置檔案的。
重點注意 apollo.meta 這個配置,配置指向的是 apollo 中 eurake 啟動的位址,而不是,不是,不是apollo管理介面的位址
。
編寫 dockerfile,預設 apollo 的原始碼是自帶 dockerfile
apollo-configservice 的 dockerfile 配置,這裡需要注意的是 unzip -d 會預設在指定的目錄下建立乙個解壓檔案包對應的名稱目錄,所以在賦予啟動指令碼命令及啟動時,需要注意路徑!
重啟命令:systemctl restart docker
# dockerfile for apollo-configservice
# 1. copy apollo-configservice-$-github.zip to current directory
# 2. build with: docker build -t apollo-configservice .
# 3. run with: docker run -p 8080:8080 -d -v /tmp/logs:/opt/logs --name apollo-configservice apollo-configservice
from openjdk:8-jre-alpine
maintainer lauleo
env version 1.5.0-snapshot
env server_port 8080
# datasource info
env ds_url ""
env ds_username ""
env ds_password ""
run echo "" > /etc/apk/repositories \
&& echo "" >> /etc/apk/repositories \
&& apk update upgrade \
&& apk add --no-cache procps unzip curl bash tzdata \
&& ln -sf /usr/share/zoneinfo/asia/shanghai /etc/localtime \
&& echo "asia/shanghai" > /etc/timezone
add apollo-configservice-$-github.zip /apollo-configservice/apollo-configservice-$-github.zip
run unzip /apollo-configservice/apollo-configservice-$-github.zip -d /apollo-configservice \
&& rm -rf /apollo-configservice/apollo-configservice-$-github.zip \
&& sed -i '$d' /apollo-configservice/apollo-configservice-$-github/scripts/startup.sh \
&& chmod +x /apollo-configservice/apollo-configservice-$-github/scripts/startup.sh \
&& echo "tail -f /dev/null" >> /apollo-configservice/apollo-configservice-$-github/scripts/startup.sh
expose $server_port
cmd ["/apollo-configservice/apollo-configservice-1.5.0-snapshot-github/scripts/startup.sh"]
構建指令碼命令
docker build -t apollo-configservice:v1 .
執行 apollo-configservice 映象
docker run -p 58080:8080 -d -v /root/apollo/apollo-configservice/logs:/opt/logs --name apollo-configservice apollo-configservice:v1
檢視容器執行日誌
docker logs -f -t apollo-configservice
ps:未完待續…
Apollo配置中心學習
為什麼說到apollo,一方面是入職新公司採用這一技術棧,另一方面是以前參與的專案是採用配置檔案放在固定目錄,不同環境修改固定檔案配置即可.但是這樣存在乙個弊端,修改配置引數 需要重啟業務服務,這樣對於業務量較小的團隊來講可以接受,但是對於像現在業務量較大的診所業務相比,一天都處在業務高峰期,只有夜...
Apollo配置中心搭建手冊
apollo部署架構圖 軟體依賴 mysql5.6以上資料庫,jdk1.8 2.執行命令 解壓安裝包 uizip apollo.zip 3.匯入資料庫 mysql u使用者 p密碼 mysql u使用者 p密碼 4.修改apollo埠 4.1 configservice埠設定 vim startup...
攜程開源配置管理中心Apollo簡介
由於程式日益複雜,相應的配置也越來越多,對配置的期望也會變高 比如實時性,分環境管理 因此我們需要乙個配置中心去管理我們的配置。apollo是攜程框架部門研發的開源配置管理中心,能夠集中管理應用在不同環境 不同集群的配置,配置修改後能夠實時的推送到應用端 由於程式日益複雜,相應的配置也越來越多,對配...